@xenonhammer

Почему json_decode вызывает Fatal error?

Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 79 bytes)
самое для меня удивительное это то что если запускать через браузер, то все выполняется.
Но когда выполняю через консоль, то вылезает фатальная ошибка указывающая на эту строку кода.
получаю по API многмерный массив.
Почему в браузере все выполняет, то? и как с этим бороться
$data = json_decode($result);
  • Вопрос задан
  • 685 просмотров
Решения вопроса 1
ini_set("memory_limit", "1024M");
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
@Firsov36
full-stack web developer
Ошибка указывает на нехватку памяти для обработки запроса. Скорее всего у вас для сайта используются одни настройки php, а для консоли другие. Возможно даже версии пхп разные. Проверьте сначала этот момент.
Ответ написан
Комментировать
Melkij
@Melkij
PostgreSQL DBA
самое для меня удивительное это то что если запускать через браузер, то все выполняется.
Но когда выполняю через консоль, то вылезает фатальная ошибка указывающая на эту строку кода.

Почему вы решили, что у них должны быть идентичные конфиги? Наоборот, конфиги обычно разные.

Ну и ошибка не имеет никакого отношения к json. Если лимит памяти memory_limit, выделяемой ядром PHP. Где бы вы его не превысили - получите fatal error, всё просто. И пути отсюда лишь два: пытаться снизить потребление памяти скриптом либо поднимать лимит.
Ответ написан
Комментировать
profesor08
@profesor08 Куратор тега PHP
Установи в php.ini `memory_limit`. Тот пхп, который обрабатывает запросы от вебсервера может подтягивать другой конфиг. Либо вообще разные версии пхп. Убедись, что в консоли запускает нужная версия пхп.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы