У нас есть сервер, расположенный в офисе местной компании под управлением 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.
Я признателен за любые указания относительно того, что может быть причиной этой проблемы.
Идеи ..
php -i
Я знаю, что это кажется несвязанным, но проверка основ, таких как разрешения и доступность ресурсов (память), также потенциально может помочь изолировать проблему.
Есть ли другие ошибки?
Очевидно, новые библиотеки jpeg не были совместимы с чем-то еще в системе. Как только мы вернулись к старым библиотекам jpeg, он снова заработал.