Php

imagecreatefromjpeg() 在伺服器升級後停止工作

  • February 16, 2015

我們在本地公司的營業地點有一台執行 Solaris/Apache/PHP 的伺服器。他們最近對 Solaris、Apache 和 PHP 進行了更新(安全更新更新檔等)。不幸的是,它導致我們軟體的圖像處理部分中斷。imagecreatefromjpeg() 現在生成以下錯誤:

警告:imagecreatefromjpeg()

$$ function.imagecreatefromjpeg $$: ‘/path/to/file/filename.jpg’ 不是第 XX 行 /path/to/file/Image.class.php 中的有效 JPEG 文件

在伺服器升級期間沒有更改任何 PHP 程式碼,並且在軟體升級之前它是完全正常的。我檢查了傳遞給 imagecreatefromjpeg() 的文件,它們確實有效(它們在圖像編輯軟體和我的瀏覽器中都成功打開)。我檢查了從中打開文件的目錄的權限,並且它們確實具有讀取權限。GD 庫已啟用。

我不確定我還能檢查什麼。根據上面的情況,我猜測軟體中發生了一些變化,但我不知道它可能是什麼。PHP 的版本是 5.2.5,現在是 5.2.13。

我感謝任何有關可能導致此問題的原因的指導。

顯然,較新的 jpeg 庫與系統中的其他內容不兼容。一旦我們切換回舊的 jpeg 庫,它就會重新開始工作。

想法..

  • php.ini 被替換、更改或未被讀取。將備份與系統上的目前備份進行比較。
  • 新包使用不同的選項編譯。通過執行比較新舊php -i

我知道這似乎無關,但驗證權限和資源可用性(記憶體)等基礎知識也可能有助於隔離問題。

還有其他錯誤嗎?

引用自:https://serverfault.com/questions/151166