At line 1 added 113 lines |
[{TableOfContents}] |
|
!!!PHP Install |
*[리눅스(fedora, centos)에서 컴파일 설치|PHP_Install_Linux] |
*[모니위키 설치|MoniWiki_Install] |
!!! php 환경 설정 |
{{{ |
gzip압축 & 버퍼링 관련 |
output_buffering = Off |
zlib.output_compression = Off |
|
ob_start("ob_gzhandler"); |
|
http://www.whatsmyip.org/mod_gzip_test/ |
http://phpschool.com/gnuboard4/bbs/board.php?bo_table=tipntech&wr_id=58182&cwin=1 |
|
http://blog.creorix.com/14 |
|
메모리 & 파일 업로드 관련 |
파일 업로드 관련 환경 설정 |
file_uploads = On 파일 업로드 활성화 |
upload_max_filesize = 20M 파일 업로드 최대 용량 |
post_max_size = 21M post 요청 최대 용량 upload_max_filesize보다 커야함 |
max_execution_time = 30 php 실행제한 시간(대용량 파일이 있을경우 늘여 주어야 한다.) 초단위 |
max_input_time = 60 get, post 업로드 시간 제한 초단위 |
memory_limit = 24M 최대 업로드 가능 용량 post_max_size 보다 커야 함 |
|
http://www.phpschool.com/gnuboard4/bbs/board.php?bo_table=tipntech&wr_id=55577&page=21 |
http://www.compuz.com/board/view.php?id=support_1&no=97512&page=27&sort=name& |
http://infosec.pe.kr/tag/php.ini |
|
기타 |
<?php, <? 둘다 사용 가능 |
short_open_tag = On |
|
//변수 사용과 관련된 옵션 $_GET['aa'] -> $aa 로 사용할수있게 하느냐 마느냐 |
register_globals = On |
|
}}} |
|
!!!PHP finally |
{{{ |
PHP에는 finally구문이 없다. |
|
mysql, ftp 등의 자원을 페이지 호출이 끝나고 나면 자동으로 해제해준다. |
|
finally구문의 사용용도는 에러발생시 자원을 필히 해제하기 위해서 인데 |
PHP는 자동 해제이기 때문에 필요가 없다. |
}}} |
|
!!!PHP 에러 처리 |
|
*에러메세지 종류 설명 |
{{{ |
Parse error |
문법상에서 문제가 있을 경우 발생 |
|
Fatal error |
선언하지 않은 함수를 호출하는 등 프로그램 구조상의 문제 |
|
Warning: |
프로그램상에서 어떠한 작업을 올바르지 수행하지 못하게 될 경우(문법적이 아닌 오류)에 주로 발생 |
MySQL 오류는 100% Warning 오류가 됨 |
php.ini의 설정 충돌 문제 |
|
프로그램 로직이 죽지 않고 계속 실행 됨 |
}}} |
|
*로직 종료 |
{{{ |
아래함수는 php의 로직을 바로 종료 하게 만든다. |
die(); |
exit(); |
}}} |
|
*에러메세지 재정의 |
{{{ |
set_error_handler |
에러메세지 발생시 처리 로직을 사용자가 임의로 수정 할 수 있음 |
에러 발생시 로그를 기록 한다던지 에러메세지를 이쁘게 보여주고 싶을때 사용 |
}}} |
|
*trigger_error |
{{{ |
trigger_error("에러메세지 출력1", E_USER_WARNING); |
Warning: 에러메세지 출력 발생위치 표시 |
trigger_error("에러메세지 출력2", E_USER_NOTICE); |
Notice: 에러메세지 출력 발생위치 표시 |
trigger_error("에러메세지 출력3", E_USER_ERROR); |
Fatal error: 에러메세지 출력 발생위치 표시 & 프로그램 로직 종료 |
}}} |
|
*Exception 예외처리 |
{{{ |
|
try |
{ |
에러 발생로직 |
} catch(Exception $e) { |
print($e->getMessage()); |
} |
}}} |
|
*Exception 예외 발생 |
{{{ |
throw new Exception("에러 메세지"); |
|
|
Exception을 캐취 하지 않았을때는 |
예외발생시 로직이 중단되며 예외 메세지와 함수 호출 static trace를 출력해준다. |
}}} |
|
|