2008年5月13日 星期二

Ubuntu下安裝php5-gd無法使用imagerotate

今天裝好LAMP後把C.P.Gb v0.89給裝上去,但是卻發現驗證碼的圖片沒有辦法顯示,後來查詢後才知道原來Ubuntu的php5-gd沒有imagerotate這個function可以使用,出現下面的提示:

Fatal error: Call to undefined function imagerotate()

經過進一步搜尋後,找到對岸的同胞有解決的方法

首先確認一下phpinfo這個function輸出的結果,如果是下圖那就是本文所提出的原因(沒有bundled)。
image

  1. 先下載php5-gd的原始碼
    #apt-get source php5-gd
    下載好了之後會自動解壓縮,進入目錄後修改./debian/rules,找到--widh-gd=shared,/usr,將之後的,/usr刪掉,變成--widh-gd=shared
  2. 將php5打包
    #dpkg-buildpackage
    在這個過程中,會出現需要安裝一些(!?)套件的訊息,將它們透過apt-get install安裝好後,便可以順利執行打包的過程,這個時候就可以做別的事,因為很久
  3. 打包後回到上一層目錄,出現了許多打包完成的deb檔案,將php5-gd解開到暫存的資料夾
    #dpkg-deb -x php5-gd*.deb test
  4. 將暫存資料夾內的gd.so取代舊有系統的gd.so(應該是存在/usr/lib/php5/gd.so)
  5. 重新啟動apache2

完成後再檢查phpinfo的輸出結果

image

可以用了^_^

 

 

 

 

以上引用此網頁