programing

PHP의 메모리 제한을 2GB 이상으로 늘리는 방법은 무엇입니까?

skycolor 2023. 7. 31. 21:15
반응형

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 스크립트를 위해 그 정도를 허용하도록 아파치에게 말해야 할 것입니다.

무제한 메모리 제한 세트의 경우-1memory_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

반응형