Назад | Перейти на главную страницу

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.

Я признателен за любые указания относительно того, что может быть причиной этой проблемы.

Идеи ..

  • php.ini был заменен, изменен или не читается. Сравните резервную копию с текущей в системе.
  • Новый пакет собран с разными опциями. Сравните новое и старое, запустив php -i

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

Есть ли другие ошибки?

Очевидно, новые библиотеки jpeg не были совместимы с чем-то еще в системе. Как только мы вернулись к старым библиотекам jpeg, он снова заработал.