오류:
치명적인 오류 : 허용 된 X 바이트의 메모리 크기가 소진되었습니다 (Y 바이트 할당 시도).
바이트 X를 MB로 변환하려면 1024 * 1024로 나누거나 Wolfram 에서 확인하십시오 .
PHP가 Y 바이트를 할당하려고 할 때 발생하지만 PHP memory_limit
구성 설정에 의해 설정된 X 바이트에 대한 제한이 있습니다.
관리»보고서»상태 보고서»PHP 로 이동하여 현재 제한을 확인할 수 있습니다. (URL/admin/reports/status/php
하거나 ini_get('memory_limit')
PHP 로 인쇄 하여 확인할 수 있습니다 (UI 및 CLI에 따라 제한이 다름).
문제를 해결하려면 다음과 같이 리소스 사용량을 줄여야합니다.
현재 사용하지 않는 (권장) 개발 모듈을 비활성화
여기에는 Devel, Devel Themer (활성화 된 경우)가 포함됩니다.
사용하지 않는 모듈을 비활성화하십시오.
메모리 리소스에 영향을 줄 수있는 특정 디버그 변수를 비활성화합니다 (예 drush
:
drush -y vset rules_debug 0
drush -y vset rules_debug_log 0
XDebug와 같은 특정 PHP 확장을 비활성화
- redis / memcached 캐시 및 일부 PHP 캐시 (예 : OPCache / XCache)를 활성화하고
- 마지막으로 위의 방법으로 PHP 구성을 향상시킬
memory_limit
수 없습니다 .
메모리 제한을 늘리기로 결정 index.php
했다면 PHP 메모리를 늘리기 위해 PHP 코드를 붙여서 코어를 해킹하도록 조언하는 많은 사람들이 있습니다. 절대 그렇게하지 마십시오 ! 아주 나쁜 연습입니다.
대신 settings.php
(또는 settings.local.php
포함 된 경우) 편집 하고 끝에 다음 코드를 붙여 넣으십시오.
ini_set('memory_limit', '512M');
또는 더 좋은 방법은 PHP 구성 파일 ( php.ini
) 을 편집 하고 다음 줄을 변경하는 것입니다.
memory_limit = 512M ; Maximum amount of memory a script may consume
의 위치가 확실하지 않은 경우 다음을 확인하십시오 php.ini
.
drush status
명령
- 나에 의한에 가고
/admin/reports/status/php
.
메모리를 가장 많이 사용하는 페이지 / 구성 요소를 자세히 조사하려면 다음과 같은 가능성이 있습니다.
- XDebug (
xdebug.profiler_enable=1
) 또는 XHProf 와 같은 PHP 프로파일 러 사용 .
- 성능 로깅 및 모니터링 모듈을 확인하십시오 .
자세한 내용은 다음을 확인하십시오.