>  기사  >  백엔드 개발  >  PHP에 메모리 제한이 있으면 어떻게 해야 합니까?

PHP에 메모리 제한이 있으면 어떻게 해야 합니까?

墨辰丷
墨辰丷원래의
2018-05-15 16:23:008348검색

이 글에서는 주로 PHP에서 메모리가 제한되어 있는 경우 어떻게 해야 하는지 소개합니다. 관심 있는 친구들이 참고하면 좋을 것 같고, 모두에게 도움이 되길 바랍니다.

어제 서버측에서 프로그램 디버깅을 하다가 갑자기 홈페이지가 떴습니다. 치명적 오류: 허용되는 메모리 크기..., 당시 혼란스러웠으나 곧 정상으로 돌아와서 호기심이 생겼을 뿐만 아니라 , Baidu 원인을 파악한 결과 단일 스크립트가 너무 많은 메모리를 사용하여 발생하는 것으로 나타났습니다. 다음은 복제된 기사입니다.

PHP 프로그램을 실행할 때 일반적으로 "치명적인 오류: xxxxxx바이트의 허용 메모리 크기가 소진되었습니다"라는 오류가 발생합니다. 이는 PHP 스크립트가 너무 많은 메모리를 사용하고 시스템에서 허용하는 최대 메모리 설정을 초과한다는 의미입니다. 이 문제를 해결하려면 먼저 프로그램이 너무 많은 메모리를 할당했는지 확인해야 합니다. 프로그램에 문제가 없다면 다음 방법을 통해 PHP의 메모리 제한(memory_limit)을 늘릴 수 있습니다.

php의 메모리 제한 값을 확인하세요

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

<?php 
phpinfo();
 ?>

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

PHP에 메모리 제한이 있으면 어떻게 해야 합니까?

참고: 이 방법을 사용하면 PHP의 다른 매개변수 설정을 볼 수 있을 뿐만 아니라 memory_limit

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

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

memory_limit 설정 방법

방법 1: php.ini

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

  1. 먼저 웹사이트에 효과적인 php.ini 파일을 찾으세요

    PHP 매개변수는 여러 위치에서 설정할 수 있으므로 올바른 구성 파일을 찾아 변경하는 것이 첫 번째 단계입니다. 구성 매개변수를 보기 위해 위의 방법을 사용하여 PHP 파일을 생성한 경우 "Loaded Configuration File" 항목을 찾을 수 있습니다. 다음은 예입니다.

    PHP에 메모리 제한이 있으면 어떻게 해야 합니까?

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

  2. Edit php.ini

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

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

    파일 저장

  3. 웹 서버를 다시 시작하세요

    웹 서버가 Apache를 사용하는 경우 다음을 실행하세요.

    httpd restart

경우에 따라 수정이 허용되지 않을 수도 있습니다. php를 개인적으로. 예를 들어, 가상 호스팅 서비스를 구입했지만 서비스 공급자가 이 파일 수정을 허용하지 않는 경우입니다. 그런 다음 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 값 수정에 실패할 수 있습니다. 이 문제를 해결하는 방법을 알아보려면 서비스 제공업체에 문의해야 합니다. 일반적으로 설정할 수 있는 최대값이 제한되어 있거나 수정이 전혀 허용되지 않습니다. 해당 환경이 실제로 귀하의 요구 사항을 충족할 수 없는 경우 다른 호스팅 공급자로 변경하는 것을 고려할 수 있습니다.

관련 권장 사항:

PHP 메모리 릴리스 및 가비지 수집에 대한 자세한 설명


PHP 메모리 누수에 대한 자세한 설명

PHP 메모리 관리에 대한 자세한 설명

위 내용은 PHP에 메모리 제한이 있으면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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