четверг, 24 июля 2014 г.

Fatal error: Allowed memory size of 134217728 bytes exhausted

Ошибка Fatal error: Allowed memory size of 134217728 bytes exhausted возникает из-за того, что ваш php-скрипт стал потреблять слишком много памяти.
Поскольку, 134217728 байт / 1024 /1024 = 128 Мб, то ваш скрипт требует памяти больше, чем 128 Мб.

Вот пример такого скрипта:
$str = '';
for ($i = 0; $i < 10000000; $i++) {
    $str .= 'Hello my world';
}

Если ваш скрипт стал таким прожорливым не по причине утечек памяти, то вы можете увеличить этот лимит:
//Увеличиваем лимит памяти, которую может использовать скрипт
ini_set('memory_limit', '256M');

$str = '';
for ($i = 0; $i < 10000000; $i++) {
    $str .= 'Hello my world';
}

Также можно вообще убрать это ограничение и позволить вашему скрипту использовать всю доступную память сервера. Однако это не рекомендуется делать по соображениям производительности.
//Отключаем ограничение на количество памяти, используемой скриптом 
ini_set('memory_limit', -1);

Комментариев нет:

Отправить комментарий