2014-11-03 73 views
0

我試圖呈現一個頁面上的驗證碼圖片如下:無法呈現在PHP(的Apache2)動態創建的圖像

<img src="part/captcha_image.php?rand=<?php echo rand(); ?>" id='captchaimg' alt="captcha image"> 

圖片則返回captcha_image.php有:

header('Content-Type: image/jpeg'); // defining the image type to be shown in browser widow 
imagejpeg($image); //showing the image 

並在XMPP上的Windows機器上顯示沒有任何問題,但在Linux上與手動apache2安裝圖像不呈現,並在瀏覽器的開發人員的工具,我看到以下錯誤:

Failed to load resource: the server responded with a status of 500 (Internal Server Error)

http://localhost/app/part/captcha_image.php?rand=1653484771 Failed to load resource: net::ERR_CACHE_MISS(僅在Chrome顯示)(在Chrome和Firefox所示)

我缺少什麼?

+0

您正在使用chrome,對嗎?請參閱:http://stackoverflow.com/questions/26408931/bizarre-error-in-chrome-developer-console-failed-to-load-resource-neterr-ca&https://code.google.com/p/鉻/問題/細節?id = 424599 – wolfemm 2014-11-03 21:26:44

+0

這是正確的。我已經在Firefox上測試了我的頁面,並編輯了我的問題並提供了結果(ERR_CACHE_MISS未在Firefox上顯示) – Disper 2014-11-03 21:40:38

+2

您是否使用gd模塊安裝了php? – Cheery 2014-11-03 21:54:47

回答

1

這聽起來像這個問題已經在評論中回答。對於這樣的問題,一定要打開PHP配置中的詳細錯誤報告,並直接在瀏覽器地址欄中點擊圖像的URL。

如果你這樣做,其實問題是你需要gdgd丟失,那麼錯誤頁面會告訴你。

+0

謝謝你的建議!我糾正'error_reporting(-1);'函數調用打開詳細報告? – Disper 2014-11-04 07:05:11

+0

是的,這就是我的意思。但我只是在我的項目開發實例中使用'php.ini'中的相應設置全局保留它。 – 2014-11-05 18:27:30