検証コードのphpスクリプトを書こうとして、image関数が利用できないというメッセージが出始めたので、php5-gdを追加しました
インストールが完了した後、関数がまだ見つからないことがわかりました
そこでsudo / etc/init.d/apache2 focus-reload を使用しました
すると、機能に問題があるというメッセージが表示されましたが、大量の警告メッセージが表示されました
php.ini ファイルを確認して修正しました error.report =E_ALL & ~E_NOTICE
サーバーを再起動しましたが、同じでした、
検証コード 生成されたコードは次のとおりです
<?php session_start(); //set some important identfy constants define('IDENTFY_NUM',5); define('IDENTFY_WIDTH',75); define('IDENTFY_HEIGT',25); //create the random pass-phrase $pass_phrase=""; for($i=0;$i<IDENTFY_NUM;$i++){ $pass_phrase.=chr(rand(97,122)); } $_SESSION['pass_phrase']=sha1($pass_phrase); $img=imagecreatetruecolor(IDENTFY_WIDTH,IDENTFY_HEIGHT); $bg_color=imagecolorallocate($img,255,255,255); $text_color=imagecolorallocate($img,0,0,0); $graphic_color=imagecolorallocate($img,64,64,64); imagefilledrectangle($img,0,0,IDENTFY_WIDTH,IDENTFY_HEIGHT,$bg_color); //Draw random lines for($i=0;$i<5;$i++){ imageline($img,0,rand()%IDENTFY_HEIGHT,IDENTFY_WIDTH,rand()%INDENTFY_HEIGHT,$graphic_color); } for($i=0;$i<50;$i++){ imagesetpixel($img,rand()%IDENTFY_WIDTH,rand()%IDENTFY_HEIGHT,$graphic_color); } //Draw the string imagettftext($img,18,0,5,IDENTFY-5,$text_color,"Courier New Bold.ttf",$pass_phrase); header("Content-type:image/png"); imagepng($img); imagedestroy($img); ?>
定数の定義と使用方法は自分で確認してください矛盾しています
定数の定義と使用法が矛盾していますので、自分で確認してください
フォント ファイルは絶対パスを使用する必要があります。どこにでも記述してください
除算の 23 行目の分母をゼロにすることはできないことが明確に指摘されています。ここにはエラーがあるため、さまざまな値が存在します。反転した $img 変数で、27 行目の imagesetpixel を作成します。この関数には利用可能な画像リソースがありません
for($i=0;$i<5;$i++){ imageline($img,0,rand()%IDENTFY_HEIGHT,IDENTFY_WIDTH,rand()%INDENTFY_HEIGHT,$graphic_color); }
for($i=0;$i<50;$i++){ imagesetpixel($img,rand()%IDENTFY_WIDTH,rand()%IDENTFY_HEIGHT,$graphic_color); }
割り算の分母をゼロにすることはできないことが明確に指摘されていますここにエラーがあり、反転された $img 変数にさまざまな値があるため、27 行目の imagesetpixel 関数には利用可能な画像リソースがありません。