2011-09-02

PHP 에러 해결 : Allowed memory size exhausted...

비록 멀티미디어는 아니지만 방대한 자료를 서버 분할이 아닌 내 혼자 처리하다 보니 때로는 array()의 숫자가 대단히 많게 되는 수가 있다. 이 경우에 php가 처리를 하다가 에러를 내보내는데 대체로 메시지는 다음과 같다.

Fatal error: Allowed memory size of 0000000 bytes exhausted (tried to allocate 000 bytes) in /xxx/xxx/xxx on line xx.

해석은 매우 쉬운데 말하자면 php 실행에 배정된 메모리를 다 사용해서 없다는 거다. 비단 내 경우 뿐만 아니라 서버 실행시 업로드 문제 등 여러 부분에서 이러한 에러가 나올 수 있는데, 해결방법은 의외로 간단하다. (단 내 혼자 실행하는 경우다. 서버의 경우 이렇게 무작위로 늘리면 처리용량이 문제가 될 수 있으므로...)

php의 설정 파일인 php.ini에 보면 memory_limit = 00 M라는 항목이 있다. 이걸 늘려주면 되는데 그 양이 참조문헌마다 제각각이다. 아마 서버 세팅시 각 시스템에 맞게 자동적으로 할당해 주는 모양인데, 내 경우에는 초기치가 128M였다. 결코 작은 용량이 아님에도 이런 에러가 났으니... 뭐 내가 그런 거니 할 말은 없지만, 이걸 1024M로 늘려놨더니 일단은 잘 된다.

No comments:

Post a Comment