PHP의 메모리 제한을 2GB 이상으로 늘리는 방법은 무엇입니까?
Apache 모듈로서의 PHP에 대한 메모리 제한을 늘리는 데 문제가 있습니다.
Apache 구성에 다음 지침을 입력하면 정상적으로 작동합니다.
php_value memory_limit 1.99G
그러나 2GB 이상은 작동하지 않습니다. 이 값을 128MB로 복원합니다.
여기에 무슨 문제가 있습니까?PDF 관련 작업을 위해 메모리가 더 필요합니다.
서버는 Debian 2.6.32-5-amd64 #1 SMP, PHP 5.3.3-7+squeez13이며 물리적 RAM은 12GB입니다.
MB 단위의 값을 사용해 보셨습니까?
php_value memory_limit 2048M
또한 다음에서 이 값 편집 시도php.ini
아파치가 아닙니다.
저는 당신이 그 문제를 잘못된 시각으로 보고 있다고 제안하고 싶습니다.질문은 '아파치 모듈을 통해 PHP를 사용하여 아파치 프로세스 내에 2G 메모리가 필요한 작업을 수행하고 있으며 이 도구 세트가 작업에 가장 적합한가요?'여야 합니다.
네, 포드 핀핀에 로켓을 묶을 수 있지만, 그것은 아마도 올바른 해결책이 아닐 것입니다.
어쨌든, 로켓이 정말 필요하면 제가 제공할게요...스크립트의 맨 위에 추가할 수 있습니다.
ini_set('memory_limit','2048M');
이렇게 하면 스크립트만 설정됩니다.당신은 여전히 php 스크립트를 위해 그 정도를 허용하도록 아파치에게 말해야 할 것입니다.
무제한 메모리 제한 세트의 경우-1
에memory_limit
변수:
ini_set('memory_limit', '-1');
64비트 OS를 지원하는 하드웨어에 64비트 OS, 64비트 Apache 버전 및 PHP용 동일한 버전이 있어야 합니다.그러나 PDF로 작동하는 기능이 이렇게 큰 크기의 메모리를 사용할 수 있다는 보장은 없습니다.RAM에 로드하지 않고 전체 파일을 메모리에 로드하거나 청크로 분할하거나 파일 기능을 사용하여 검색하지 않는 것이 좋습니다.
같은 문제를 겪고 있는 다른 사람들을 위해, 여기 php + patch https://bugs.php.net/bug.php?id=44522 의 버그에 대한 설명이 있습니다.
다음을 시도할 수도 있습니다.
ini_set("max_execution_time", "-1");
ini_set("memory_limit", "-1");
ignore_user_abort(true);
set_time_limit(0);
Apache 구성에 다음을 입력합니다.
php_value memory_limit 2048M
나는 심지어 명령줄 php에서도 같은 문제를 겪었습니다.ini_set("memory_limit", "-1");
apache가 아닌 php로 제한이 설정되었습니다.
당신은 64비트 버전의 php를 사용하고 있는지 확인해야 합니다.
64비트 PHP에서 코드가 실행되고 있는지 확인하는 것에 대한 이 질문을 보면 어떤 php를 사용하고 있는지 알 수 있습니다.
당신의 php는 32비트로 컴파일된 것 같습니다.
언급URL : https://stackoverflow.com/questions/11885191/how-to-increase-memory-limit-for-php-over-2gb
'programing' 카테고리의 다른 글
페이지 새로 고침 시 선택한 부트스트랩 탭을 유지하려면 어떻게 해야 합니까? (0) | 2023.07.31 |
---|---|
C float 비교 기능은 언제 사용합니까? (0) | 2023.07.31 |
구성 요소를 사용하지 않고 angular2 경로에서 외부 URL로 리디렉션하는 방법은 무엇입니까? (0) | 2023.07.31 |
파이썬에서 numpy 유형을 식별하는 방법은 무엇입니까? (0) | 2023.07.31 |
SpringRequestMapping 경로 매개 변수가 있는 인코딩 슬래시(%2F)는 HTTP 400을 제공합니다. (0) | 2023.07.31 |