Подтвердить что ты не робот

Допустимый размер памяти 134217728 байт.

Горячий, чтобы решить эту проблему и почему это происходит?

Журнал сервера Zend:

PHP Неустранимая ошибка: разрешенный размер памяти 134217728 байт исчерпан (попытался выделить 538798977 байт) в C:\Program Files (x86)\Zend\Apache2\htdocs\test\modules\main.php в строке 3

Файл main.php не производит никаких ошибок, если он выполняется непосредственно из браузера. Однако, если я использую его функции из другого файла PHO, тогда Zend Log печатает вышеупомянутую ошибку.

4b9b3361

Ответ 1

Я также столкнулся с этой проблемой.

Увеличьте следующие переменные, чтобы ваше выполнение страницы не остановилось:

  • max_input_time
  • memory_limit
  • max_execution_time

Ответ 2

Увеличьте лимит памяти в php.ini или попытайтесь оптимизировать любые крупные структуры данных (например, массивы) из вашего приложения.

В любом случае, если ваше приложение PHP использует 128 МБ ОЗУ, возможно, что-то не так.

Кроме того, как отмечает Fluffeh в комментариях, что вы делаете, чтобы использовать 500 МБ ОЗУ?

Ответ 3

Попробуйте следующее:

ini_set('memory_limit', '-1');

php.net/memory_limit

Это займет неограниченное использование памяти сервером.

Ответ 4

В дополнение к user1427811 вы можете отслеживать time_limit и memory_limit до и после загрузки файла:

function custom_put_contents($source_url='',$local_path=''){

    $time_limit = ini_get('max_execution_time');
    $memory_limit = ini_get('memory_limit');

    set_time_limit(0);
    ini_set('memory_limit', '-1');      

    $remote_contents=file_get_contents($source_url);
    $response=file_put_contents($local_path, $remote_contents);

    set_time_limit($time_limit);
    ini_set('memory_limit', $memory_limit); 

    return $response;
}