You cannot see this page without javascript.

php.ini 정리

APM 조회 수 578 추천 수 0 2014.05.17 17:00:21

1.

예전 버전 같으면 함수에러가 발생하면 어떤 함수 때문에 에러가 발생되었다고 나타나는데...

5.3 이후로는 http 500 내부 서버 오류를 출력하여 error_log 파일을 보지 않는한 알 수 없게 되었다.

서버 보안 때문인 듯 한데... 개발자 입장에서는 난감한 부분이다.

이를 해결하기 위해서는 php.ini에서 display_errors=Off 를 On으로 변경해야 한다.

2.

display_error=On으로 설정하게 되면 PHP Notice: Use of undefined constant DOCUMENT_ROOT - assumed...

이라는 notice 오류 메세지를 흔히 볼 수 있게 되었다.

배열에 대한 규제가 강화되어서 그런데... $_SERVER['DOCUMENT_ROOT'] 와 같이 []내부에 ''을 넣어 주면 해결된다.


3.

하지만 이러한 notice에러 출력은 빼고 싶다면

php.ini에서 error_reporting=E_ALL~E_NOTICE를 변경해 주면 된다.

0 : 모든 오류 보고를 끈다.

E_ERROR | E_WARNING | E_PARSE : 간단한 실행 오류만 보여준다.

E_ERROR | E_WARNING | E_PARSE | E_NOTICE : 간단한 실행 오류에 notice오류를 보여준다.

E_ALL ^ E_NOTICE : notice를 제외한 전체를 보여준다.

E_ALL : 모든 오류를 보고한다.


4.

Warning: date(): It is not safe to rely on the system’s timezone settings. 와 같은 에러 메세지는

php.ini에 timezone을 셋팅하지 않아서 생기는 문제이다.
php.ini에서 date.timezone="Asia/Seoul" 로 교체

5.
CentOS6 버전이라 그런지 yum을 통한 php-mcrypt가 설치 되지 않는다.
6. 기타
register_globals = On
register_long_arrays = On
short_open_tag = On

 

 

 

일반적인 설정

 

register_globals = Off     

입력 데이터(POST, GET, 쿠키, 환경 변수 외의 서버 변수) 관해서 이미 글로벌 변수로서 등록하지 않게 한다.

주의:register_globals 시큐리티 관련의 버그를 유발할 가능성이 있다

 

display_errors = Off          

지시문을 off 하면 스크립트의 실행중에 에러가 발생 하여도 스크립트의 출력으로서의 에러 표시를 하지 않게 되어 접속 사용자에게 에러가 발생한것을 모르게 한다.

에러가 발생하면 에러 메세지안에 스크립트나 웹서버, 데이터 베이스 서버 등에 관한 정보가 표출 되는 일이 있어 문제가 발생 있다. 실제 운영중이 환경에서는 지시문을 off 하는 것이 좋다.

 

log_errors = On

위의 display_errors 보완한다. 스크립트의 실행중에 발생해 모든 에러는 로그로 남게 된다.

 

output_buffering = 4096       

출력 버퍼를 4KB 설정한다.

출력 버퍼링을 유효하게 하면 일반적으로는 기입 회수나 가끔 패킷의 송출 횟수가 줄어들어 퍼포먼스의 향상으로 연결된다. 지시문에 의해 어느 정도 퍼포먼스를 향상 시키지만 사용하고 있는 웹서버나 스크립트에 크게 의존한다.

 

register_argc_argv = Off

$argv $argc 글로벌 변수의 등록을 하지 않는다.

 

magic_quotes_gpc = Off        

입력 데이터가 backslash 이스케이프 되지 않게 되기 때문에 SQL 데이타베이스에 보낼 수가 없게 된다.

설정으로 데이타베이스에 보내고 싶은 경우는 그때마다 addslashes() 함수를 사용하도록 한다.

 

allow_call_time_pass_reference = Off     ;

함수 사용시에, 변수를 강제적으로 참조 하는 것을 금지한다.

이것을 PHP4 스타일로 실시하기 위해서는, 함수 정의 시에 관련하는 인수를 참조 하도록 한다.

 

 

파일 업로드

 

file_uploads = On

파일의 업로드를 허가할지를 설정한다.

 

upload_tmp_dir =

HTTP 로 파일을 업 로드할 때의 임시 작업 디렉토리

지정되지 않는 경우는 시스템의 디폴트(TEMP 디렉토리)가 사용된다

 

upload_max_filesize = 2M 

업 로드하려는 파일의 최대 사이즈

 

 

 

 

 

register_globals = On

POST나 GET 데이터, 쿠키, 각종 환경/서버 변수에 대해 글로벌 변수로 작동하지 않게 함

on 이라면 $_POST[var] 를 $var로 사용할 수 있다.

보안문제나 변수의 꼬임 등을 유발할 수 있기때문에 on을 추천한다.

display_errors = Off

화면상에 오류를 표시하지 않도록 함

서버상의 설정이나 db에 관한 정보가 출력될 수 있으므로 off를 추천한다.

※ 에러를 표시하고 싶을 경우 아래 코드를 소스의 상단에 넣으면 된다.

<?

error_reporting(E_ALL);

ini_set("display_errors", 1);

?>

short_open_tag = on

<?php 로 시작하는 php코드의 선언을 <?로 줄여서 사용할 수 있게 한다.

max_execution_time = 30

스크립트의 최대 실행 시간을 30초로 설정한다.

대량의 데이터를 다루는 경우라면 더 늘려서 설정하도록 한다.

memory_limit = 8M

스크립트의 최대 메모리를 설정한다.

대량의 데이터를 다루는 경우라면 더 늘려서 설정하도록 한다.



post_max_size = 8M
받아들일 수 있는 POST 데이터의 최대 사이즈

대량의 데이터를 다루는 경우라면 더 늘려서 설정하도록 한다.

upload_max_filesize = 2M

업로드 가능한 최대 파일 사이즈

대량의 데이터를 다루는 경우라면 더 늘려서 설정하도록 한다.

 

upload_max_size ,post_max_size, memory_limit 이 그 주인공들 이며 만일 10메가의 파일을 업로드 하고자 할경우 다음과 같이 적용해 주는것이 좋다.

upload_max_size[10M] < post_max_size[11메가] < memory_limit[12메가]

c-0001.png



아파치의 기본 설정은 대부분 10M 정도의 용량만 업로드 할 수 있도록
기본설정이 되어 있습니다.
프리하드를 통해 대용량 파일 ( 영화파일 같은 ) 을 업로드 하기 위해서는
php.ini 설정을 아래와 같이 변경후
웹서버를 재시작 해 주셔야 됩니다.
예를들어 2G 용량의 파일까지 업로드가 가능하도록 설정 하려면
post_max_size = 2046M
upload_max_filesize = 2045M
max_execution_time = 7200
max_input_time = 7200
위와같이 수정 하시고나서 저장후
웹서버를 재시작 하시길 바랍니다.
첨부
엮인글 :
List of Articles
번호 제목 글쓴이 날짜sort 조회 수
109 Windows Windows Server 2012 - .NET Framework 1.x 미지원 LynX 2014-05-29 246
108 APM mono LynX 2014-05-29 332
107 APM asp file LynX 2014-05-28 418
106 APM Proxy AJP LynX 2014-05-27 417
105 Windows 윈도우 8 pro key LynX 2014-05-26 277
104 Windows 윈도우 설치 원본 통합 file LynX 2014-05-26 1262
103 APM 아파치에서 ASP 사용 LynX 2014-05-26 478
102 Java Script 스도쿠 LynX 2014-05-26 333
101 Server Apache HTTP Server와 Tomcat의 연동 file LynX 2014-05-20 6106
100 Server 톰켓 설치 file LynX 2014-05-20 812
99 Server 아파치 - 톰캣 연동하기 (PHP, JSP 같이 사용하기) LynX 2014-05-19 1962
98 APM apm + ssl file LynX 2014-05-19 429
» APM php.ini 정리 file LynX 2014-05-17 578
96 Server 윈도우7(Window)에 DNS서버(acrylic-from sourceforge) 설치하는 방법 file LynX 2014-05-14 981
95 HardWare 라우터 초기화 LynX 2014-03-25 847
94 Windows 7 외부 윈도우 클라이언트에서 삼바서버 접속하기 LynX 2014-03-06 6030
93 Internet Explorer KT 인터넷 접속제한 공유기 설정 LynX 2014-01-13 9222
92 HTML Tag 대체 URL LynX 2014-01-06 372
91 APM PHP 5.5.12 설치 file LynX 2013-12-31 698
90 APM Apache 2.4 설치 file LynX 2013-12-30 890

XE Login