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

Разрешенный размер памяти 262144 байт исчерпан (пытался выделить 24576 байт)

Я с ума сходил.

Появилось следующее сообщение:

Allowed memory size of 262144 bytes exhausted (tried to allocate 24576 bytes)

TODO LIST

Проверить phpinfo(), получить правильный маршрут php.ini и отредактировать его. Измените memory_limit на

memory_limit = 128M

Убедитесь, что значение memory_limit изменяет con phpinfo() с результатом:

memory_limit    128MB   128MB

Проверить .htaccess и добавить (не нужно)

php_value memory_limit 128M

А также изменить его с помощью php так (до строки ошибки):

ini_set('memory_limit','128M');

В нем говорится, что память установлена ​​на 128M, но все еще получает эту ошибку?

Ошибка в библиотеке Swift (библиотека для отправки сообщений электронной почты), в abstractSmtpTransport.php, так что это не мой код int suposed для работы.

Любые идеи???

Изменить: Да, предыдущий был выполнен с перезапуском apache.

ИЗМЕНИТЬ 2: @patrick, добавил, что ничего не повторилось

Попытка с меньшим значением, 28M int в каждом файле, перезапущенный apache, та же ошибка (phpinfo показала новое значение)

попытался с -1, перезапуском и той же ошибкой.

EDIT 3: не странно, что память больше, чем выделенная память? (несмотря на то, что допустимый размер памяти ниже допустимой памяти)

4b9b3361

Ответ 1

Я вижу, что моя проблема немного отличается от вашей, но я отправлю этот ответ, если это поможет кому-то другому. Я использовал MB как стенографию вместо M при определении моего memory_limit, и php молча игнорировал его. Я изменил его на целое (в байтах) и проблема была решена.

Мой php.ini изменился следующим образом: memory_limit = 512MB до memory_limit = 536870912. Это устранило мою проблему. Надеюсь, это поможет кому-то другому! Вы можете прочитать здесь здесь.

Удачи!

Edit

Как указывает Яодун, вы можете так же легко использовать правильную стенографию "М" вместо использования значений байтов. Я изменил свои значения на байты для целей отладки, а затем не стал менять их обратно.

Ответ 2

Значение 262 144 байта является ключом к диагнозу. Вы увидите, что этот волшебный номер появляется во всех вопросах PHP. Зачем? Поскольку это значение, значение PHP будет ограничено, если вы попытаетесь обновить предел значением, которое он не может использовать. Пустая строка создаст этот предел памяти, так же как и неправильная единичная запись типа "128 МБ" вместо правильного "128 М".

262,144 байта составляет ровно 256 килобайт. Почему PHP работает дома с этим значением, когда он запутывается, находится вне меня.

Не странно, что память больше, чем выделенная память?

Показанное выделенное количество - это только самая недавняя попытка выделения, которая была ограничена пределом памяти. См. Разрешенный размер памяти в PHP при распределении меньше.

Ответ 4

если вы используете модели в своем приложении и используете get_object_vars ($ model) и нажимаете это на свой массив, добавьте эту функцию в модель:

public function  get_objects(){
        return (get_object_vars($this));
    }

и добавьте это в свой массив:

 array_push($array,$model->get_objects());

Ответ 5

Я пытался установить лимит Wordpress на загрузку мультимедиа. Я следил за советом из какого-то блога. Я не собираюсь упоминать, чтобы повысить лимит с 64 МБ до 2 ГБ.

Я сделал следующее:

Создал файл (php.ini) в WP ADMIN со следующими целыми числами:

upload_max_filesize = 2000MB
post_max_size = 2100MV
memory_limit = 2300MB

Я сразу получил эту ошибку при попытке войти в мою панель инструментов Wordpress, чтобы проверить, сработало ли это:

"Допустимый размер памяти 262144 байт исчерпан (пытался выделить 24576 байт)"

Вышеприведенная информация в этой цепочке очень помогла мне. (Обычно Stack делает BTW)

Я изменил файл PHP.ini на следующее:

upload_max_filesize = 2000M
post_max_size = 2100M
memory_limit = 536870912M

Основное различие заключалось только в использовании M, а не в MB, и установлении максимального предела памяти.

Как только я сохранил измененный файл PHP.ini, я сохранил его, снова зашел в систему и снова появился экран входа в систему.

Я вошел и проверил загрузку мультимедиа, ands bang:

Изображение, показывающее папку носителя twordpress "Добавить новое" , с ограничениями, указанными как "МАКСИМАЛЬНЫЙ РАЗМЕР ЗАГРУЗКИ: 2 ГБ"

Я еще не перезапустил Apache... но все выглядит хорошо.

Спасибо всем.