Три способа решения проблемы «Fatal error: Allowed memory size of XXX bytes exhausted»

Когда вашему скрипту не хватает оперативной памяти для его выполнения (точнее он не укладывается в объём, который ему разрешён), возникает ошибка "Allowed memory size of XXX bytes exhausted (tried to allocate YYY bytes)".

Для решения данной задачи предлагаю три варианта на выбор в зависимости от прав доступа на сервере и его конфигурации.

Один из этих вариантов вам точно поможет.

Способ первый

В файле настроек РНР (php.ini) пишем:


memory_limit = 100M

Обычно для простых смертных этот файл править не дают. Всё зависит от вашего хостинг-провайдера. Да и делать вам там нечего.

Способ второй

В файле настроек сайта (.htaccess) пишем:


php_value memory_limit 100M

При определённой конфигурации сервера вы можете получить ошибку 500 — Internal Server Error.

Способ третий

В теле вашего скрипта (например, config.php) пишем:


<?php
ini_set('memory_limit', '100M');
?>

Самый простой и безопасный ход решения проблемы. Меня выручает постоянно.

Для сайта на WordPress

В начале вашего файла конфигурации wp-config.php в корне сайта добавьте строку:


define( 'WP_MEMORY_LIMIT', '100M' ); 

Для вставки кода используйте HTML-теги
<pre><code class="php">ваш код</code></pre>