board.zip : 11장, register_globals=off, error_reporting = E_ALL 버전
책에 대한 질문은 꼭 http://ezphp.net/qna.html 에서 해주세요. 블로그는 가끔 방문하다보니 답변이 늦습니다.
오류 및 오탈자 부분을 수정한 버전을 올립니다.
만약 실행시 오류가 발생한다면 바로 알려주시면 최대한 빠른 답변을 드리겠습니다.
그리고 이 페이지는 항상 최신 버전의 소스코드를 유지할 예정입니다.
변경사항이 있으면 날짜와 함께 최신의 소스코드를 업로드하겠습니다.
참고로 문의하시는 분이 계셔서 말씀드립니다.
책의 예제 소스코드는 책을 구매하신 분 뿐만이 아니라 "모든" 분들이 "모든" 용도로 사용이 가능합니다.
2013년 8월 29일 업데이트
- 테스트 환경
-- Apache 2.4.6
-- PHP 5.5.3
-- MySQL 5.1.70
php.ini 파일 설정 : error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
(~11장까지는 php.ini 파일에서 register_globals=on 상태임을 가정)
위의 환경에서 동작 확인하였습니다.
위의 error_reporting 설정은 기본값 설정이지만 경우에따라 Development 설정인 E_ALL 만 설정된 경우가 있습니다.
이때는 각종 Notice 및 Warning 메세지가 등장하게 됩니다.
이는 PHP의 버전이 올라감에 따라 그간 문제가 되어 왔던 보안 이슈를 해결하고
PHP가 점점 엄격한 문법을 요구하고 있기 때문입니다.
MySQL의 경우에도 현재는 초기부터 사용되어온 mysql 함수들(mysql_connect 등)을 더이상 지원하지 않겠다는 의지를 보이고 있습니다. 현재는 사용이 가능하나 조만간 mysql API는 사라지고 mysqli API만 남게 될 것 같습니다.
이와같이 PHP는 다른 언어와 달리 빠르게 변모하기때문에 현시점에서 잘 동작하는 프로그램이
시간이 흘러감에 따라 부분적으로 더 이상 동작하지 않을 수 있습니다.
예제 소스를 Notice 및 Warning이 없도록 만들 수 있으나 그렇게 되면 책의 내용과 크게 상이해질 가능성이 있어서
그동안의 모든 문제점(편집 중에 생긴 오타와 문법 부분이 너무 간략하게 설명되어 있고 게시판의 호흡이 너무 긴 점 등)을 수정한 개정판을 준비하는 것이 더 빠를 수 있겠다는 생각이 듭니다.
혹시 책의 개선점에 대해 의견이 있으신분은 아래에 코멘트를 남겨주시면 최대한 반영하도록 하겠습니다.
감사합니다.