imagecreatefromjpeg() перестает работать после обновления сервера
У нас есть сервер, расположенный в офисе компании, работающем под управлением Solaris/Apache/PHP. Недавно они сделали обновление для Solaris, Apache и PHP (исправления для системы безопасности и т. Д.). К сожалению, это привело к поломке части нашего программного обеспечения по обработке изображений. imagecreatefromjpeg() теперь генерирует следующую ошибку:
Предупреждение: imagecreatefromjpeg() [function.imagecreatefromjpeg]: '/path/to/file/filename.jpg' не является допустимым файлом JPEG в /path/to/file/Image.class.php в строке XX
Код PHP не был изменен во время обновления сервера, и он был полностью функциональным до обновления программного обеспечения. Я проверил файлы, передаваемые в imagecreatefromjpeg (), и они действительно действительны (они успешно открываются как в программном обеспечении для редактирования изображений, так и в моем браузере). Я проверил права доступа к каталогу, из которого открываются файлы, и у них есть разрешение на чтение. Библиотека GD включена.
Я не уверен, что еще я могу проверить. Исходя из сценария выше, я предполагаю, что что-то изменилось в программном обеспечении, но я не знаю, что это могло бы быть. PHP был версии 5.2.5 и сейчас 5.2.13.
Я ценю любые рекомендации относительно того, что может быть причиной этой проблемы.
2 ответа
Очевидно, что более новые библиотеки jpeg не были совместимы с чем-то другим в системе. Как только мы вернулись к старым библиотекам jpeg, он снова начал работать.
Идеи..
- php.ini был заменен, изменен или не читается. Сравните резервную копию с текущей в системе.
- Новый пакет скомпилирован с различными опциями. Сравните новое и старое, запустив
php -i
Я знаю, что это кажется несвязанным, но проверка основ, таких как разрешения и доступность ресурсов (память), может также помочь изолировать проблему.
Есть ли другие ошибки?