自己編譯的php在linux下無法產生PNG映像,該如何解決

來源:互聯網
上載者:User
自己編譯的php在linux下無法產生PNG映像
環境:
CentOS 6.4 64位
Nginx 1.4.2
PHP 5.4.7
GD庫資訊如下:
GD Supportenabled
GD Versionbundled (2.0.34 compatible)
FreeType Supportenabled
FreeType Linkagewith freetype
FreeType Version2.3.11
GIF Read Supportenabled
GIF Create Supportenabled
JPEG Supportenabled
libJPEG Version6b
PNG Supportenabled
libPNG Version1.2.49
WBMP Supportenabled
XPM Supportenabled
XBM Supportenabled

DirectiveLocal ValueMaster Value
gd.jpeg_ignore_warning 0 0


現在情況是這樣,我有一個需要產生驗證碼的頁面,使用了別人寫的一個產生驗證碼的代碼,這個代碼在我本機上運行良好,放在伺服器上就會出現沒有輸出映像資料,映像控制代碼是由 imagecreatetruecolor函數產生,我用var_dump列印這個曲柄顯示這樣的資訊:resource(55) of type (gd)
顯然控制代碼是建立好的,此後這個產生代碼調用了這些圖形函數:
imagecolorallocate
imagefilledrectangle
imagettftext
imageline

最後使用
header( 'Content-type: image/png' )
配合
imagepng函數輸入驗證碼映像

最後我通過瀏覽器端的調試器發現,傳過來的儘管是image/png類型,卻沒有任何有效資料,也就是說在成功調用了 imagecreatetruecolor產生了映像控制代碼之後,其餘的圖形函數並沒有向圖像寫入任何圖形資料.

現在的問題是我必須有這個產生驗證碼的功能,包括之後要建的discuz論壇也會有驗證碼,我該怎麼做才能讓這玩意工作起來.
由於之前GD缺乏freetype支援我已經重新編譯過PHP.我現在似乎只能 1).找出寫入圖形輸入失效的原因,然後解決. 2).重新搞個其他版本的PHP來編譯.
請各位告訴我改怎麼做.
------解決方案--------------------
貼出你的代碼,以驗證你的程式書寫沒有問題
如果你在多個去確定的因素中尋找問題的所在,首先應使用排除法
------解決方案--------------------
路徑,大小寫……
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.