러닝 PHP – 한빛미디어

2017-04-17 KENNETH 0

러닝 PHP (Learning PHP) 저자 : 데이비드 스클라 역자 : 정병열 출판사 : 한빛미디어 책정보 : http://www.hanbit.co.kr/store/books/look.php?p_code=B8310462346     개요 대상 독자 기술적으로 전문가가 될 필요는 없는 사람 이 책에서 나를 부르고 있다. ㅋ   특징 입문서 성격 입문서를 표방하고 있고 내용도 입문서이긴 한데…   PHP7 기반 PHP7 기반의 서적이 필요한 시기 현재 시점에서야 PHP5 기반의 사이트가 많겠지만 네임드 CMS들도 점점 PHP7을 지원하고 있는 추세이고 구버전의 ”End Of Life”를 생각한다면 새로 시작하는 사람은 PHP7을 학습하는 것도 좋다고 생각함 PHP7 을 기술한 서적은 아직 없어보이는 시점이기 때문에 나름 적절하다고 할 수 있겠다.   연습문제 각 챕터 마다 연습문제를 가지고 있다. (해당 챕터에서 무엇을 배웠는지에 대한 간략한 (항목)정리도 있다) 연습문제가 있는 것은 그리 새로운것이 아니지만 세상에 해답을 같이 두고 있다. 본문 전체의 약 20% 정도 분량이 챕터별 연습문제의 해답 이다. 보통 문제는 내긴함 근데 스타일이 다 틀린데 정답이 어딨나. ㅋ 나머지는 알아서 생각해 [ more… ]

No Image

php + freetds for mssql on linux

2016-02-23 KENNETH 0

php + freetds for mssql on linux   개요 OS : linux (CentOS 등등.. ) WEB : apache + php 환경에서 mssql 접근을 하기 위해서는 freetds 라는 패키지를 이용하면 된다. DB(MSSQL) 서버 IP : 192.168.0.201 DB 포트 : 1433 DB NAME : ilaya DB USER : choilha DB PASS : hahahoho PHP 설치 경로 : /usr/local PHP 라이브러리 : /usr/local/lib/php PHP extension dir : /usr/local/lib/php/extensions   freetds 설치 공식사이트 : http://www.freetds.org/ 다운로드 : ftp://ftp.freetds.org/pub/freetds/stable/freetds-patched.tar.gz configure –prefix=/usr/local/freetds –enable-msdblib –with-gnu-ld –enable-shared make make install   freetds 설정 설정파일 : /usr/local/freetds/etc/freetds.conf 파일의 마지막 부분에 아래와 같이 내용을 추가.. 물론 본인의 상황에 맞게… [192.168.0.201] host = 192.168.0.201 port = 1433 tds version = 8.0 freetds패키지의 tsql 을 이용해서 접근테스트를 해볼 수 있으니 확인해 볼것 /usr/local/freetds/bin/tsql -S 192.168.0.201 -p 1433 -U choilha -P ”hahahoho” php + freetds 연동 PHP를 재컴파일 하는 방법도 있겠으나.. 귀찮으니.. 모듈을 사용하는 형태로다가.. cd PHP_SOURCE_DIR/ext/mssql ./configure [ more… ]

No Image

php-fpm.sock failed (13: Permission denied) on nginx

2016-01-12 KENNETH 0

환경 OS : linux(centos6) WEB : nginx-1.8 PHP : php-fpm php-fpm은 포트가 아닌 소켓을 오픈   기본값 : listen = 127.0.0.1:9000 변경값 : listen = /var/php/php-fpm.sock   로그 2016/01/12 07:20:21 [crit] 15637#0: *1 connect() to unix:/var/php/php-fpm.sock failed (13: Permission denied) while connecting to upstream, client: 141.101.83.235, server: greatuser.net, request: “GET /index.php HTTP/1.1”, upstream: “fastcgi://unix:/var/php/php-fpm.sock:”, host: “greatuser.net”, referrer: “https://www.google.co.kr/”   원인 및 처리 php-fpm 과 nginx 의 실행 유저가 맞지 않기 때문에 발생하는 에러.. php-fpm.conf 에 다음과 같이 지정을 해줘야함… user = nobody group = nobody listen.mode = 0666 예제에서는 저렇게 나와 있지만.. nginx 를 구동하는 유저와 동일하게 설정하면 되겠다. listen.mode 역시 0660 이상이면 된다…   그런데 왜 listen 값을 포트에서 유닉스 소켓으로 변경했냐고???? 그건 다음에 알랴줌…

No Image

php 에러 메세지 확인

2015-10-22 KENNETH 0

서버에서 php구문을 실행하다보면, 별다른 이유없이 실패하는 경우가 있다. 환경에 따라서 에러메세지를 출력하는 경우도 있으나.. 사이트에 에러메세지가 출력되지 않았으면 무시해되 되는 수준의 에러는 그냥 무시 보안상의 이슈 (나는 개발자가 아니라서 잘은 모르지만)등의 이유로 error_reporting = E_ALL & ~E_DEPRECATED display_errors = Off 이러한 설정을 통해.. 정확히는 display_error만.. 오류가 나오지 않도록 처리하기 때문이다.   php.ini에서 설정을 변경하는 방법도 있으나.. 그랬다가는 기존에 미처 확인하지 못한 에러 메세지들이 주욱~ 나올 수 있기 때문에.. (물론 내 서버에서는 display_errors=on 모드로 사용한다..) error_reporting(E_ALL); ini_set(“display_errors”, 1); 오류가 발생하여 확인하고자 하는 페이지에 이처럼 함수를 넣어서 임시적으로 사용하면 되겠다. display_error 옵션이야 on/off 둘중 하나지만.. 그 위에 잠시 안내한 error_reporting 은 여러 설정이 존재하므로.. http://php.net/manual/kr/errorfunc.configuration.php#ini.error-reporting 에서 확인을 해보시면 되겠다.  

PHP 함수의 mysql 데이터베이스 확장 함수의 고찰

2015-10-13 KENNETH 0

  PHP 함수의 mysql 데이터베이스 확장 함수의 고찰 PHP에서 지원하는 mysql 함수 mysql mysqli pdo-mysql     습관 난 몇년동안 리눅스상에서 APM을 설치할때 mysql을 컴파일해서 설치하고 php설치시 ”–with-mysql=/usr/local/mysql” 등의 옵션을 사용했다. –with-mysql=/usr/local/mysql –with-pdo-mysql=/usr/local/mysql (필요시 추가) 형태로 설치한뒤 추가로 mysqli가 필요한 경우 별도의 모듈형태로 mysqli 를 설치해서 사용했다.. 특별히 큰 이유가 있었던것은 아니고, 그냥 mysql3 + php4.0 시절부터 그렇게 해왔기 때문에 의례 그렇게 했다는게 맞다.   새로운것 헌데 PHP5.3 부터 변경된점중.. mysqlnd 라는것이 있다. 출처 : http://php.net/manual/en/book.mysqlnd.php 위에서 설명한 mysql의 3가지 지원함수의 사용을 위해서 mysql 라이브러리 (컴파일이든 yum, apt 를 이용한 클라이언트/라이브러리 설치) php컴파일시 libmysqlclient 를 사용 해야 했던 전통적인 방식대신 mysql Native Driver 라는 새로운 방식을 php-5.3 부터 지원하게 되었다고… (솔직히 몰랐다;;;;)   라이센스 문제(라기 보다는 주체랄까..) 해결 libmysqlclient 라이브러리가 더이상 필요 없음 같은 얘기지만 내장되어있는 기능을 활성화 시키는 것이기 때문에 설치가 쉽다. PHP의 메모리 관리 시스템의 사용하기 때문에 성능개선(이 있을수 [ more… ]