php 환경설정(php.ini) 내용 중 많이 사용하는 설정값 위주로 정리하였습니다.
※ php.ini 파일 수정 후에는 apache restart 해줘야 변경된 내용이 적용됩니다.
engine = On(기본값)/Off
off로 설정되어 있을 시, url에서 apache 페이지 실행 시 php 파일을 보여주지 않고 다운로드하는 현상이 발생합니다.
short_open_tag = On/Off(기본값)
php 사용시 보통 <?php 로 코드가 시작됩니다.
짧은 태그 허용 설정이 on으로 설정되어 있으면 <? 로 코드가 시작될수 있습니다.
<? 로 시작하는 코드가 있다면 설정을 on으로 변경해주어야합니다. 그렇지 않으면 에러가 발생하거나 페이지가 정상적으로 뜨지 않는 현상 발생합니다.
output_buffering = 4096(기본값)/Off
php 파일의 출력 버퍼링 활성화 여부 설정
값을 0으로 설정 시 off와 동일. 출력 버퍼링이 비활성화됩니다.
값을 1로 설정 시 on과 동일. 출력 버퍼링이 활성화되나, 최대 버퍼 크기에 대해 제한이 없습니다. 1로 설정 시 최대 버퍼크기에 대해 제한이 없어지기 때문에 위험할 수 있어, 4096이 기본값으로 설정되어 있습니다.
disable_functions =
특정 함수를 사용할수 없도록 설정합니다.
ex) disable_function = curl_exec, exec
disable_classes =
특정 클래스를 사용할 수 없도록 설정합니다.
expose_php = On(기본값)/Off
보안관련 옵션으로, On으로 설정 시 http 헤더에 php 버전이 노출됩니다.
보안상 Off로 설정하는것을 권유합니다.
max_execution_time = 30(기본값) /초단위 설정
스크립트 최대 실행시간을 설정할 수 있습니다.
대용량 파일일수록 시간이 많이 소요될 수 있으므로 파일용량에 따라서 적절한 실행시간으로 설정합니다.
설정된 시간에 도달하면 아래와 같이 에러가 뜨면서 php파일을 띄우지 못하고 종료됩니다.
Fatal error: Maximum execution time of 30+2 seconds exceeded (terminated) in Unknown on line 0
비활성화를 원한다면 값을 0으로 설정합니다.
max_input_time = 60(기본값) /초단위 설정
파일업로드 관련 설정입니다.
입력데이터를 받아들이는 최대 시간을 설정할 수 있습니다.
-1로 설정 시 시간을 제한하지 않고 무제한으로 업로드 가능하게 설정할 수 있습니다.
기본 설정한 시간을 넘어가면 time out으로 에러가 발생하게됩니다.
이 설정은 파일 업로드 시간을 제한하는것이고, 용량 제한 설정도 따로 존재합니다.
memory_limit = 128M(기본값)
스크립트가 사용할 수 있는 최대 메모리양을 설정할 수 있습니다.
php 사용 시 메모리 부족 현상이 나타난다면 수치를 조정해서 메모리 사용양을 조절하면 됩니다.
display_errors = Off(기본값)/On
On으로 설정 시 php 실행 시 웹페이지에 에러 정보를 노출합니다.
보안상 개발 중이 아닐 경우 Off로 설정하는것을 권유합니다.
log_errors = On(기본값)/Off
On으로 설정 시 로그파일에 php 관련 에러로그가 기록됩니다.
log_errors_max_len = 1024(기본값)
에러로그로 남길 수 있는 로그의 최대 길이 설정.
0으로 설정 시 무제한으로 설정됩니다.
post_max_size = 8M(기본값)
파일업로드 관련 설정입니다.
post 방식으로 전송 시 최대용량을 설정할 수 있습니다. 파일 업로드 시 대부분 post 방식으로 서버에 전송되는데, 이 용량이 부족하면 전송에 실패하기 때문에 적정값에 맞게 설정해주어야합니다.
default_mimetype = “text/html” (기본값)
출력할 타입을 지정합니다.
기본값은 text/html 이며, css 사용시 적용되지 않는다면 “”와 같이 설정하면 비활성화됩니다.
default_charset = “UTF-8″(기본값)
php 문자셋 설정입니다. UTF-8이 기본값으로 설정되어있고, 다른 언어셋을 사용할 경우 이 설정을 변경해줍니다.
file_uploads = On(기본값)/Off
파일 업로드 허가여부 설정
upload_max_filesize = 2M(기본값)
파일 업로드 관련 설정입니다.
업로드 할 수 있는 파일의 최대 사이즈를 설정할 수 있습니다.
post_max_size 설정보다 작게 설정해주어야합니다.
max_file_uploads = 20(기본값)
파일 업로드 관련 설정입니다.
동시에 업로드할 수 있는 최대 파일의 수를 지정할 수 있습니다.
allow_url_fopen = On(기본값)/Off
On으로 설정 시 url을 파일로서 취급합니다. 즉, 외부사이트 파일을 불러올 수 있게 됩니다.
On으로 설정 시 php 외부사이트 url을 이용해서 악의적인 프로그램을 실행시키는 경우가 있으므로 보안상 Off로 사용할 것을 권유합니다.
default_socket_timeout = 60(기본값) /초단위로 설정
php 사용 시 외부 호스트 접속이 필요한 경우 외부접속이 지연되면 이용에 불편함을 주는 경우가 있습니다.
해당 설정 사용 시, 해당 시간안에 socket data를 받아오지 못하면 닫히게 됩니다.
※ 파일 업로드 관련 설정 시 크기를 memory_limit > post_max_size > upload_man_filesize 로 설정해야 합니다.