我試圖做一個驗證碼圖像渲染隨機文本(看看我的$_SESSION["captcha"]
)。沒有正確渲染我的圖像
它使用WAMP在本地主機上完美工作,但在我的網站上,它只顯示透明的64x20圖像,沒有文字,沒有任何內容。
我有一個錯誤500之前,我安裝了php5-gd +重新啓動Apache,也許我錯過了什麼安裝?
我無法訪問我的(錯誤)日誌。
這裏是我的代碼:
<?php
session_start();
$_SESSION["captcha"] = mt_rand(100, 999);
$img = imagecreatetruecolor(64, 20);
$font = "Inversionz.otf";
imagealphablending($img, true);
imagesavealpha($img, true);
imagefill($img, 0, 0, 0x7fff0000);
$textcolor = imagecolorallocate($img, 0, 0, 0);
imagettftext($img, 27, 0, 0, 20, $textcolor, $font, $_SESSION["captcha"]);
header("Content-type:image/png");
imagepng($img);
imagedestroy($img);
?>
我的字體(Inversionz.otf)上傳。
獲取訪問這些錯誤日誌,他們會告訴你到底是什麼問題。或者,也許你可以設置自己的日誌? 'ini_set(「log_errors」,1); ini_set(「error_log」,「/tmp/php-error.log」); error_log(「你好,錯誤!」);'你已經知道你的代碼有效,所以人們不得不大肆猜測它沒有錯誤日誌的環境出了什麼問題。我的猜測是字體丟失。 – mkaatman
@mkaatman字體不會丟失,正如我所說,我可以通過在我的瀏覽器中訪問它來下載它。我添加了你的代碼並沒有發生任何事情(沒有創建文件夾/沒有顯示錯誤)。 –
只是踢,本地主機如果你改變字體名稱爲無效,行爲是否匹配? PHP版本是一樣的嗎?你可以安裝一些東西,但你無法訪問日誌,這太瘋狂了。 – mkaatman