Laravel - слишком много памяти необходимо для загрузки файла - PullRequest
0 голосов
/ 20 марта 2020

Я хочу добиться возможности загружать изображения размером до 10 МБ.

Ожидаемые результаты:

  • Размер изображения меньше 10 МБ => изображение успешно загружено

  • Размер изображения между 10 МБ и 11 МБ => 422 ошибка (из средства проверки пользовательского запроса)

  • Размер изображения выше 11 МБ =>> 1027 * 413 ошибка (исключение PostTooLarge)

Фактические результаты:

  • Второй и третий случай работает, как и ожидалось, но в первый случай в браузере возникает ошибка 500, и запрос останавливается (в Почтальоне все работает нормально)

  • Я заметил, что могу загружать изображения до 2 МБ (через браузер / приложение), но все между 2 МБ и 10 МБ терпит неудачу

Мои php .ini значения:

upload_max_filesize = 10M 
post_max_size = 11M

Я пытался увеличить memory_limit также до 1024M, и в этом случае, все работает rks отлично .

Но я боюсь, что мне действительно не нужно столько памяти для простой загрузки изображений размером 10 МБ.

Эти значения показывают мое PHP использование памяти при отправке этого конкретного c запроса с изображением размером около 5 МБ:

memory_get_usage() ~5MB
memory_get_peak_usage() ~6MB

Это должно сказать мне, что утечки памяти не произошло, не так ли?

Я почти уверен, что мой веб-сервер (NGINX) не вызывает эту ошибку, потому что все работает, когда мой memory_limit увеличен.

Спасибо, что прочитали мой вопрос, и я надеюсь, что у кого-то есть ответ :)

...