레이블이 PHP인 게시물을 표시합니다. 모든 게시물 표시
레이블이 PHP인 게시물을 표시합니다. 모든 게시물 표시

2014년 12월 18일 목요일

make: *** [ext/openssl/openssl.lo] Error 1

Centos 6.6 32bit
php 4.4.9
openssl-1.0.1e-30.el6_6.4.i686
openssl-devel-1.0.1e-30.el6_6.4.i686

 

php 설치 중 make 작업시 에러발생
make: *** [ext/openssl/openssl.lo] Error 1

 

여기 참고 해서 openssl.c 를 교체

 

wget http://www.softel.co.jp/blogs/tech/wordpress/wp-content/uploads/2012/10/openssl.c
cp openssl.c ext/openssl/openssl.c

 

성공

 

php 제대로 설치되었던 버젼은

openssl-0.9.7a-43.17.el4_8.6
openssl-devel-0.9.7a-43.17.el4_8.6

 

다운로드 받은 openssl.c 파일 첨부함.

openssl

eAccelerator , APC php 최소 버젼

/usr/local/src/eaccelerator-eaccelerator-42067ac/eaccelerator.h:45:2: error: #error "eAccelerator only supports PHP 5.1 and higher"
pecl/APC requires PHP (version >= 5.1.0)

 

 

eAccelerator는 5.1 이상

APC 역시 5.1 이상.

2012년 11월 21일 수요일

호스팅 환경에서 disable해야할 PHP 함수들 목록

호스팅 환경에서 disable해야할 PHP 함수들 목록

 

system, show_source, exec, shell_exec, proc_open, passthru, set_time_limit, ini_restore, mysql_list_dbs, ini_alter, dl, pfsockopen, openlog, syslog, symlink, link, chgrp, leak, popen, escapeshellcmd, apache_child_terminate, apache_get_modules, apache_get_version, apache_getenv, apache_note, apache_setenv, virtual, mb_send_mail

ini_set이 고민이 되기는 하는데... 이건 써야 할 필요가 있을 때도 있어서...


 

2012년 11월 16일 금요일

php 보안 관련 php.ini 설정

보안업체에서 제공한 php 보안 옵션.

php.ini 의 설정 값을 아래와 같이 맞춘다.

allow_url_fopen = Off
safe_mode = On
register_globals = Off
magic_quotes_gpc = On
display_errors = Off

 

기존의 사용하고 있는 것들은 이렇게 변경시 제대로 동작 하지 않는 경우가 상당할 듯 하다.

새롭게 설치하는 서버의 경우 위와 같이 설정하고, 개발도 보안에 맞게끔 해야 한다.

2012년 10월 11일 목요일

L2 스위치 포트별 아이피 찾기 프로그램 (포트매핑)

L2 스위치에선 포트별 아이피를 찾을 수 없는 데, 이걸 L3장비와 연계하여 찾는 프로그램(포트매핑)을 만들어 봤다.

포항공과대학의 김은희님이 쓰신 논문이 유용한 자료가 되었다.

해당 논문에서 처럼 제대로 된 프로그램으로 만들고 싶지만, 이미 상용프로그램이 많은 상황에서 그정도의 퀄리티를 뛰어넘을 자신도 없고, 그냥 구현 해 본데에 의의를 둔다.

이미 상용으로 솔라윈즈나 OpUtils 등에 해당 기능이 포함되어 있다.

솔라윈즈의 switch port mapper 프로그램과 비교하여 보니, 정확히 비슷하진 않지만, 얼추 맞는 것으로 보인다.

문제 있을 수 있는점.
1. vlan 별로 별도 지정이 안되있어서, vlan을 추가한 L2장비에서는 어떻게 될 지 모르겠다.
2. 구글 검색하다가 보게 된건데, 시스코외의 장비에서는 조금 다른 MIB 를 사용하고 있는 것 같다.(표준MIB라고 해서 사용하기 했는 데, 잘 모르겠다.)

ps.
php 를 통해 구현했는데,  보통 호스팅으로 사용하는 서버에는 snmp 내장함수가 설치되어 있지 않다.

 

DEMO

 다운로드

2012년 6월 5일 화요일

마이피플 API 로 메세지 보내기

마이피플의 API 를 통해 웹에서 메시지를 전송가능 하단걸 알았다.

라인은 API 가 없는 거 같고, 카톡은 일반 웹에서는 안되고, 모바일 웹에서만 된다는 점에서 일반웹에서는 사용할 수 없다.

마이피플도 정상적인 API가 아니라 마이피플 위젯을 이용한 꼼수(?)라고 봐야 될 거 같다.

만들려고 보니 이미 만드신 분이 있었다. 역시~

http://www.phpwork.kr/Downloads/viewDownloadDetail/0/1/33

자체 개발 하신 Spac 프레임워크 란 걸 사용 해야 하는 단점이 있다.

해당 프레임 워크 를 사용 안해도 된다고 하셨는데, 그럼 오류 난다.

소소는 아래와 같은데,  아래 처럼 바꿔서 사용 가능 하다.

보니까 워낙 간단한 내용이라서, 함수로 만들어서 사용하는 게 나을 듯 하다.

귀찮아서 그냥 씀.


ps. 위젯 서비스가 종료... 안됨..

2012년 1월 18일 수요일

PayPal cannot process this transaction because of a problem with the seller's website

PayPal cannot process this transaction because of a problem with the seller's website

일반사이트에서 페이팔을 연동하는 과정에서 발생하는 문제임.
buy now 에서 옵션 부분이 문제가 발생
사이트에서 보내는 옵션과 페이팔에서 셋팅돈 옵션의 불일치로 인해 발생하는 문제였다.

값을 한글로 셋팅했더니, 인코딩 문제로 인해 두개가 일치하지 않는 걸로 인식되는 것 같다.
영어로 상품명 변경하고 했더니, 정상적으로 등록 완료.

인코딩 문제는 아시는 분 댓글좀;;

2011년 12월 23일 금요일

php버젼에 맞지 않게 올렸을 때 발생한 문제.

서버에서 직접 접근시 문제가 없는 데, 웹에서는 아래와 같은 오류가 뜬다.
ERROR 1251: Client does not support authentication protocol requested by server; consider upgrading MySQL client

아파치 에러로그에서 아래와 같은 메시지가 계속 뜬다.
File 'NONEXISTENT/charsets/?.conf' not found (Errcode: 2)
Character set '#19' is not a compiled character set and is not specified in the 'NONEXISTENT/charsets/Index' file

아파치에서 php4모듈을 올려서 발생한 문제.
php5모듈로 변경해서 해결.

2011년 12월 16일 금요일

[php] 이메일 주소 보호함수

 이메일 주소 보호 함수
 Link1   http://www.maurits.vdschee.nl (49)
 Link2   http://www.maurits.vdschee.nl/php_hide_email/ (136)
 
 
쓸모있는 함수 하나 소개합니다.


이메일 주소를 보호할 수 있는 함수 입니다. 


제작자 웹사이트는 http://www.maurits.vdschee.nl 이구요


License: Public domain.


Example


    <?php echo hide_email('test@test.com';); ?>


code


function hide_email($email) { $character_set = '+-.0123456789@ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz';; $key = str_shuffle($character_set); $cipher_text = ''; $id = 'e'.rand(1,999999999); for ($i=0;$i<strlen($email);$i+=1) $cipher_text.= $key[strpos($character_set,$email[$i])]; $script = 'var a="'.$key.'";var b=a.split("").sort().join("");var c="'.$cipher_text.'";var d="";'; $script.= 'for(var e=0;e<c.length;e++)d+=b.charAt(a.indexOf(c.charAt(e)));'; $script.= 'document.getElementById("'.$id.'").innerHTML="<a href=\\"mailto:"+d+"\\">"+d+"</a>"'; $script = "eval(\"".str_replace(array("\\",'"'),array("\\\\",'\"'), $script)."\")"; $script = '<script type="text/javascript">/*<![CDATA[*/'.$script.'/*]]>*/</script>'; return '<span id="'.$id.'">[javascript protected email address]</span>'.$script; } 
 

[php]파일 확장자 추출

echo strrchr( "test.jpg" , "." );  // 결과 : ".jpg

php에서 cband 트래픽 리셋하기.

 $cmd = "wget -q --http-user=$admin_id --http-passwd=$admin_pass http://${my_domain}/traffic_admin/index.php?reset=${my_domain}:$my_reset_code";

2011년 12월 8일 목요일

[php]특정 문자 뒤쪽으로만 가져오기

$data는 문자열.

substr($data, strpos($data, '<?xml'));

요렇게 하면 <?xml 문자뒤쪽으로만 가져옴. (<?xml 포함)


fsockect으로 xml 긁어와서 사용하는 데, 쓰임.

2011년 11월 15일 화요일

구글 캘린더를 통해 무료 sms 발송

<?
/*구글 캘린더를 통해 sms 발송*/

require_once 'Google/Calendar.php';

$ID='xxxxx@gmail.com';
$PW='xxx';

$startTime=date("Y-m-d\TH:i:s+09:00", time());
$endTime=date("Y-m-d\TH:i:s+09:00", time()+180);

$title='타이틀';
$content='설명';
$where='장소';

$service = new Google_Calendar;
if (!$service->requestClientLogin($ID,$PW)) {
exit("ClientLogin has failed\n".$service->getResponseBody());
}

$entry = <<<GDATA
<entry
xmlns="http://www.w3.org/2005/Atom"
xmlns:gd="http://schemas.google.com/g/2005">
<category
scheme="http://schemas.google.com/g/2005#kind"
term="http://schemas.google.com/g/2005#event">
</category>
<title type="text">$title</title>
<content type="text">$content</content>
<gd:where valueString="$where">
</gd:where>
<gd:when
startTime="$startTime"
endTime="$endTime">
<gd:reminder minutes='0' method='sms' />
</gd:when>
</entry>
GDATA;

if (!$service->insert($entry, "http://www.google.com/calendar/feeds/xxxxxxxxxxxxx@group.calendar.google.com/private/full")) {
exit("Inserting an entry has failed\n".$service->getResponseBody());
}

?>

이 파일이 필요함.
추가기능 밖에 없음.

xxxxxxxxxxxxx@group.calendar.google.com << 이부분은 캘린더ID
기본 캘린더를 쓰려면 default

참고로 캘린더ID는 여깄음.

사용자 삽입 이미지

출처:http://codepasta.net/50
http://www.rcdtokyo.com/etc/gdataapis/

워드, 엑셀, 파워포인트 , xml 형식으로 출력 , php 헤더설정

header("Content-Type: text/plain;charset=euc-kr");

<meta http-equiv=Content-Type content="text/html; charset=ks_c_5601-1987">


header( "Content-Disposition: attachment; filename=search_result.xls" );


//한글 출력


 


엑셀 <? header("Content-Type: application/vnd.ms-excel"); ?>

워드 <? header("Content-Type: application/msword"); ?>

파워포인트 <? header("Content-Type: application/vnd.ms-powerpoint"); ?>

ASP에서 엑셀
 <% Response.Buffer = TRUE Response.ContentType = "application/vnd.ms-excel" %>





해더 부분의 ContentType을 지정해서 해당되는 형식으로 출력하도록 만드는 것






header("Content-Type: application/vnd.ms-excel");  
header("Content-Disposition: attachment; filename=직원전화.xls");
header("Content-Description: PHP4 Generated Data" );  






xml형식을 출력



header("Content-type: application/xml");
header("Content-Disposition: attachment; filename=파일명);
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0,pre-check=0");
header("Pragma: public");









출처:http://www.mins01.com/20090118/board/board.php?type=read&b_id=tech&sh=title&cat=&page=1&b_idx=29

2011년 10월 26일 수요일

php로 msword 파일 만들기

header("Content-type: application/vnd.ms-word"); 
header("Content-Disposition: attachment;Filename=document_name.doc");
echo "<html>";
echo "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=Windows-1252\">";
echo "<body>";
echo "<b>My first document</b>";
echo "</body>";
echo "</html>";

출처:http://ko.w3support.net/index.php?db=so&id=124959