Call to undefined function imagecreatefromjpeg() 解決方案

場景描述

一般的php環境下對於圖片處理的GD庫,一般只支持png和gif之類的圖片處理,對於jpg格式的圖片無法處理。通過php相關信息的查看也可以看到結果

GD Support => enabled
GD Version => bundled (2.1.0 compatible)
GIF Read Support => enabled
GIF Create Support => enabled
PNG Support => enabled
libPNG Version => 1.5.13
WBMP Support => enabled
XBM Support => enabled

從上面可以看出,並不支持jpg或者jpeg圖片的處理,這是php程序執行imagecreatefromjpeg方法時將會報錯

Call to undefined function imagecreatefromjpeg()

解決方案

  1. 首先我們要先安裝jpeg處理的擴展,下載相關的資源可以從 http://www.ijg.org/files/ 網址下載,我們這裏下載v8b版本
    wget http://www.ijg.org/files/jpegsrc.v8b.tar.gz
    
  2. 接下來進行解壓編譯安裝
    tar -zxvf  jpegsrc.v8b.tar.gz
    cd jpeg-8b
    ./configure --prefix=/homel/jpeg --enable-shared --enable-static 
    make && make install
    
  3. 根據安裝的jpeg庫重新編譯安裝gd擴展庫, 進入php源碼目錄
    cd ext/gd
    ./configure --with-php-config=/usr/local/bin/php-config --with-jpeg-dir=/home/jpeg/
    make && make install
    
  4. 將生成的gd.so文件在php.ini配置文件中進行配置
  5. 這時通過查看php的信息可以看到已經支持jpeg的處理了
    GD Support => enabled
    GD Version => bundled (2.1.0 compatible)
    GIF Read Support => enabled
    GIF Create Support => enabled
    JPEG Support => enabled
    libJPEG Version => 8
    PNG Support => enabled
    libPNG Version => 1.5.13
    WBMP Support => enabled
    XBM Support => enabled
    

備註

有的環境可能還會出現一些問題,這時我們可以通過安裝以下擴展庫,再次嘗試上述過程

yum install libjpeg-devel freetype-devel libpng-devel
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章