PHP 메모리 부족 편집하기

경고: 로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다. 로그인하거나 계정을 생성하면 편집자가 사용자 이름으로 기록되고, 다른 장점도 있습니다.

편집을 취소할 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 게시해주세요.

최신판 당신의 편집
12번째 줄: 12번째 줄:


==설정값 확인==
==설정값 확인==
<syntaxhighlight lang='console'>
<source lang='console'>
[root@zetawiki ~]# cat /etc/php.ini | grep memory_limit
[root@zetawiki ~]# cat /etc/php.ini | grep memory_limit
memory_limit = 128M
memory_limit = 128M
</syntaxhighlight>
</source>
:→ 기본 설정은 128M로 제한되어 있다.
:→ 아래 문단과 같이 이 제한을 늘려서 해결가능한 경우가 많다.
:→ 다만 PHP 애플리케이션 자체의 문제로 인해 메모리를 과도하게 사용하는 경우에는 애플리케이션 수준의 근본적인 조치가 필요하다.


==조치방법 1 (PHP 소스)==
==조치방법 1 (PHP 소스)==
PHP 소스에서 아래 명령어를 수행하면 그 PHP 페이지 실행에 한하여 메모리 제한이 변경된다.
PHP 소스에서 아래 명령어를 수행하면 그 PHP 페이지 실행에 한하여 메모리 제한이 변경된다.
{{소스헤더|메모리 제한 늘리기}}
*메모리 제한 늘리기
<syntaxhighlight lang='php'>
<source lang='php'>
ini_set('memory_limit','512M');
ini_set('memory_limit','192M');
</syntaxhighlight>
</source>
{{소스헤더|메모리 무제한으로 풀기}}
*메모리 제한 풀기
<syntaxhighlight lang='php'>
<source lang='php'>
ini_set('memory_limit','-1');
ini_set('memory_limit','-1');
</syntaxhighlight>
</source>


==조치방법 2 (PHP 설정)==
==조치방법 2 (PHP 설정)==
PHP 설정파일에서 메모리 제한 수정하기. 모든 PHP 파일에 적용되며, 적용시 아파치 재시작이 필요하다.
PHP 설정파일에서 메모리 제한 수정하기. 모든 PHP 파일에 적용되며, 적용시 아파치 재시작이 필요하다.
<syntaxhighlight lang='bash'>
<source lang='bash'>
vi /etc/php.ini
vi /etc/php.ini
</syntaxhighlight>
</source>
<syntaxhighlight lang='ini'>
<source lang='aconf'>
; Maximum amount of memory a script may consume (128MB)
; Maximum amount of memory a script may consume (128MB)
; http://php.net/memory-limit
; http://php.net/memory-limit
memory_limit = 128M
memory_limit = 128M
</syntaxhighlight>
</source>
<syntaxhighlight lang='ini' highlight='3'>
<source lang='aconf' highlight='3'>
; Maximum amount of memory a script may consume (128MB)
; Maximum amount of memory a script may consume (128MB)
; http://php.net/memory-limit
; http://php.net/memory-limit
memory_limit = 512M
memory_limit = 512M
</syntaxhighlight>
</source>
memory_limit를 찾아 파라미터를 적절한 값으로 수정하고 저장한다. 수정된 php.ini가 적용되려면 httpd 재시작이 필요하다.
memory_limit를 찾아 파라미터를 적절한 값으로 수정하고 저장한다. 수정된 php.ini가 적용되려면 httpd 재시작이 필요하다.
<syntaxhighlight lang='console'>
<source lang='console'>
[root@zetawiki ~]# service httpd restart
[root@zetawiki ~]# service httpd restart
Stopping httpd:                                            [  OK  ]
Stopping httpd:                                            [  OK  ]
Starting httpd:                                            [  OK  ]
Starting httpd:                                            [  OK  ]
</syntaxhighlight>
</source>


==같이 보기==
==같이 보기==
* [[PHP Fatal error]]
*[[오픈 플래시 차트]]
* [[PHP Fatal error:  Out of memory]]
*[[PHP Fatal error]]
*[[PHP Fatal error:  Out of memory]]


==참고==
==주석==
<references/>


[[분류: 메모리]]
[[분류: 오픈 플래시 차트]]
[[분류: PHP 오류]]
[[분류: PHP 오류]]

제타위키에서의 모든 기여는 크리에이티브 커먼즈 저작자표시-동일조건변경허락 3.0 라이선스로 배포된다는 점을 유의해 주세요(자세한 내용에 대해서는 제타위키:저작권 문서를 읽어주세요). 만약 여기에 동의하지 않는다면 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다. 저작권이 있는 내용을 허가 없이 저장하지 마세요!

취소 편집 도움말 (새 창에서 열림)

이 문서에서 사용한 틀: