BIG
1. 문제 상황
PHP의 메모리 제한 기본값은 128MB[1]이다.
데이터가 너무너무 많을 경우 PHP에서 다음과 같이 메모리 부족 메시지가 발생하더라.
Fatal error: Allowed memory size of 134217728 bytes
exhausted (tried to allocate 32 bytes)
in /var/www/html/open-flash-chart/php-ofc-library/ofc_scatter.php on line 5
2. 설정값 확인
[root@zetawiki ~]# cat /etc/php.ini | grep memory_limit
memory_limit = 128M
→ 기본 설정은 128M로 제한되어 있다.
→ 아래 문단과 같이 이 제한을 늘려서 해결가능한 경우가 많다.
→ 다만 PHP 애플리케이션 자체의 문제로 인해 메모리를 과도하게 사용하는 경우에는 애플리케이션 수준의 근본적인 조치가 필요하다.
3. 조치방법 1 (PHP 소스)
<?php
# 메모리 제한 늘리기
ini_set('memory_limit','512M');
# 메모리 무제한으로 풀기
ini_set('memory_limit','-1');
?>
4. 조치방법 2 (PHP 설정)
PHP 설정파일에서 메모리 제한 수정하기. 모든 PHP 파일에 적용되며, 적용시 아파치 재시작이 필요하다.
memory_limit를 찾아 파라미터를 적절한 값으로 수정하고 저장한다. 수정된 php.ini가 적용되려면 httpd 재시작이 필요하다.
[root@zetawiki ~]# vi /etc/php.ini
* 변경전
; Maximum amount of memory a script may consume (128MB)
; http://php.net/memory-limit
memory_limit = 128M
* 변경후
; Maximum amount of memory a script may consume (128MB)
; http://php.net/memory-limit
memory_limit = 512M
[root@zetawiki ~]# systemctl httpd restart
출처 : https://zetawiki.com/wiki/PHP_%EB%A9%94%EB%AA%A8%EB%A6%AC_%EB%B6%80%EC%A1%B1
LIST
'!!...PHP > !!...HowTo' 카테고리의 다른 글
[How To] composer 설치 & phpspreadsheet 설치 (0) | 2023.08.22 |
---|---|
[How To] Apache PHP MariaDB 환경에서 WAS_02...? (0) | 2023.05.22 |
[How To] Codeigniter3.x :/system/core/Log.php (0) | 2022.07.29 |
[How To] Apache PHP MariaDB 환경에서 WAS_01...? (0) | 2022.07.14 |
[How To] PHP를 이용한 다중 연결 소켓 통신 (0) | 2017.10.19 |