Laravel 4.2 создает исключение NotReadableException «Неподдерживаемый тип изображения. Драйвер GD может декодировать только файлы JPG, PNG, GIF или WebP». - PullRequest
0 голосов
/ 24 сентября 2018

После проверки около 20 решений я сдался и мне нужна помощь.У меня есть 2 файла JPG.Оба имеют правильную пантомиму, они не слишком велики для upload_max_filesize, имена в порядке, путь в порядке.Каждое решение было об одной из этих проблем.

Моя проблема в том, что когда я запускаю скрипт на первом изображении, все в порядке, ошибки нет, объект создается:

$image1 = Image::make(public_path()."/uploads/goodimage.jpg");

См. Пример: https://app.esticrm.pl/uploads/goodimage.jpg

Когда я запускаю его на другом изображении, я получаю сообщение об ошибке:

$image2 = Image::make(public_path()."/uploads/badimage.jpg");

См. Пример: https://app.esticrm.pl/uploads/badimage.jpg

Сообщение об ошибке:

Intervention \ Image \ Exception \ NotReadableException Неподдерживаемый тип изображения.Драйвер GD может декодировать только файлы JPG, PNG, GIF или WebP.

Та же ситуация в Windows и Linux.Файлы открываются в каждой графической программе и браузере, которые я проверял.Эти проблемы начались после обновления PHP с 5.5.x до 5.6.35.Раньше было хорошо.

Ответы [ 3 ]

0 голосов
/ 21 октября 2018

У меня была такая же проблема, и мой способ решения был следующим.Мне пришлось изменить размер, который nginx позволял пользователю загружать в /etc/nginx.conf, например:

 http {
    client_max_body_size 100M;
 }

И мне также пришлось изменить свой php.ini, чтобы увеличить размерзагруженных файлов и общий размер:

upload_max_filesize = 4M
post_max_size = 16M

надеюсь, кому-то поможет

0 голосов
/ 13 февраля 2019

измените следующие переменные в файле php.ini

post_max_size = 128M
upload_max_filesize = 128M

напечатайте phpinfo (), чтобы найти ваше местоположение php.ini.

Если его cpanel находится под программным обеспечениемsection-> php версии-> нажмите «Переключить на параметры PHP».Затем измените значение.Также измените max_execution_time на 600

0 голосов
/ 29 сентября 2018

Хорошо, я нашел решение:

$image2 = Image::make(file_get_contents(public_path()."/uploads/badimage.jpg"));

Работает также с файловым объектом из формы:

$image2 = Image::make(file_get_contents(Input::file('upload_file'));
...