Неустранимая ошибка: допустимый объем памяти в PHP при меньшем выделении

Я получаю это:

Неустранимая ошибка: допустимый объем памяти 268435456 байт исчерпан (попытался выделить 4981690 байт) в...

Это кажется немного странным! Из того, что я могу прочитать, это не должно произойти, не так ли? Не значит "быть наоборот". Я уже использую тупо большой memory_limit

3 ответа

Решение

Он не пытается выделить все это сразу. Допустим, наш лимит составляет 10 байтов. Он выделит 3, 3, 3 и еще 3 - бум: выдает ошибку:

Allowed memory size of 10 bytes exhausted (tried to allocate 3 bytes) in..

Нет, все в порядке. Сообщение об ошибке может быть ошибочным. ~5 МБ (4981690 байт), которые PHP пытался выделить, - это не общий объем памяти, выделенный PHP. Это всего лишь последняя группа памяти, которую он пытался выделить, чего он не мог сделать из-за memory_limit,

Но это действительно много. Что ты здесь делаешь? Обрабатываете много изображений в высоком разрешении?

Вы пытались выделить дополнительные 4981690 байтов, и уже было больше 268435456 - 4981690 байты, выделенные ранее.

Другие вопросы по тегам