>  기사  >  백엔드 개발  >  PHP의 memory_limit 제한을 수정하는 방법

PHP의 memory_limit 제한을 수정하는 방법

伊谢尔伦
伊谢尔伦원래의
2016-12-02 09:24:001555검색

PHP 프로그램을 실행할 때 일반적으로 "치명적인 오류: xxxxxx바이트의 허용 메모리 크기가 소진되었습니다."라는 오류가 발생합니다. 이는 PHP 스크립트가 너무 많은 메모리를 사용하고 시스템에서 설정한 최대 허용 메모리를 초과한다는 의미입니다.

이 문제를 해결하려면 먼저 프로그램이 너무 많은 메모리를 할당했는지 확인해야 합니다. 프로그램에 문제가 없다면 다음 방법을 통해 PHP의 메모리 제한(memory_limit)을 늘릴 수 있습니다.

php의 메모리 제한 값 확인

이 값을 확인하려면 view-php-info.php와 같은 빈 PHP 파일을 생성해야 합니다. 그런 다음 내부에 다음 코드를 붙여넣습니다.

<?php phpinfo(); ?>

이 스크립트를 웹 서버에 넣고 브라우저에서 호출하세요. 이때 아래와 같이 "memory_limit"에 관한 일부인 PHP 환경 구성에 대한 정보를 볼 수 있습니다.

PHP의 memory_limit 제한을 수정하는 방법

참고: 이 방법을 사용할 수 있습니다. memory_limit뿐만 아니라 PHP의 다른 매개변수 설정도 확인하세요

memory_limit는 얼마로 설정해야 하나요?

이는 전적으로 애플리케이션 요구 사항에 따라 다릅니다. 예를 들어 WordPress에서는 핵심 코드를 실행하는 데 32MB가 필요합니다. Drupal 6에서는 이 값이 최소 16MB여야 하며 32MB로 설정할 것을 권장합니다. 플러그인, 특히 이미지 처리가 필요한 플러그인을 많이 설치하는 경우 128MB 이상의 메모리가 필요할 수 있습니다.

memory_limit 설정 방법

방법 1: php.ini

가장 간단하거나 가장 일반적인 방법은 php.ini를 수정하는 것입니다

1) 먼저 찾아보세요 당신을 위한 정답 웹사이트에 적용되는 php.ini 파일 PHP 매개변수를 설정할 수 있는 위치가 여러 곳이므로 올바른 구성 파일을 찾아 변경하는 것이 첫 번째 단계입니다. 구성 매개변수를 보기 위해 위의 방법을 사용하여 PHP 파일을 생성한 경우 "로드된 구성 파일" 항목을 찾을 수 있습니다. 다음은 예입니다.

PHP의 memory_limit 제한을 수정하는 방법

Linux의 경우 users 의 경우 "php -i | grep Loaded Configuration File"을 실행하여 해당 구성 파일을 찾을 수 있습니다. Windows 사용자의 경우 PHP 설치 디렉터리에서 php.ini를 수정해 볼 수 있습니다.

2) php.ini 편집 php.ini에서 "memory_limit" 항목을 찾으세요. 그렇지 않은 경우 파일 끝에 이 매개변수를 직접 추가할 수 있습니다. 다음은 몇 가지 설정 예입니다.

memory_limit = 128M ; //可以将128M改为任何你想设置的值

파일 저장

3) 웹 서버가 Apache를 사용하는 경우 다음을 실행합니다.

httpd restart

어떤 경우에는 php.ini를 개인적으로 수정하는 것이 허용되지 않을 수도 있습니다. 예를 들어, 가상 호스팅 서비스를 구입했지만 서비스 공급자가 이 파일 수정을 허용하지 않는 경우입니다. 그런 다음 memory_limit 값을 늘리기 위해 다른 방법을 고려할 수 있습니다.

방법 2: .htaccess

참고: 이 방법은 PHP가 Apache 모듈과 함께 실행될 때만 적용됩니다. 웹사이트의 루트 디렉터리에서 ".htaccess" 파일을 찾으세요. 파일이 없으면 직접 만들 수 있습니다. 그런 다음 다음 구성을 입력합니다.

php_value memory_limit 128M ; //可以将128M改为任何你想设置的值

방법 3: 런타임 중 PHP의 메모리 설정 수정

다음 명령줄을 PHP 코드에 추가합니다.

ini_set(&#39;memory_limit&#39;,&#39;128M&#39;);

memory_limit 수정 실패

가상 호스트를 사용하는 경우 memory_limit 값 수정에 실패할 수 있습니다. 이 문제를 해결하는 방법을 알아보려면 서비스 제공업체에 문의해야 합니다. 일반적으로 설정할 수 있는 최대값이 제한되거나 수정이 전혀 허용되지 않습니다. 해당 환경이 실제로 귀하의 요구 사항을 충족할 수 없는 경우 다른 호스팅 공급자로 변경하는 것을 고려할 수 있습니다.


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.