今日、ローカルに新しい仮想ホストを作成し、以前に作成した小さな PHP Web サイトをデプロイしましたが、以前は wamp 統合環境を使用していたので、この状況は発生しませんでした。ここで突然、認証コードが生成できないことに気づきました。
そこで私はバグを見つける旅を始めました。インターネットで多くの解決策を検索し、最終的に解決しました。今、それを次のように共有します:
エラー 1:
上記の状況での最も基本的な間違いは、php に gd モジュールをインストールするのを忘れている可能性があることです。ウィンドウ環境では、php.ini ファイルで
;extension=php_gd2.dll
を見つけて、その前のセミコロンを削除するだけです。Apache を再起動すると、phpinfo( )
##ubuntu 環境の場合は、コマンド
sudo apt-get install php5-gd
エラー 2:
上記のインストール後も動作しない場合は、次の問題が考えられます。
間違い 3:
上記の 2 つの手順を実行してもまだ機能しない場合は、切り札を使用する必要があります。
ob_clean() を使用してキャッシュをクリアします。 ob_clean の機能は出力バッファの内容を破棄することです。生成された画像ファイルが多数ある場合、それらに正しくアクセスするにはバッファを頻繁にクリアする必要があります。public function create() { ob_clean(); $a = new verify(); session::set('captcha', strtolower($a->create(4, 15))); view::assign("captcha", $a); view::display("captcha"); exit(0); }
注: より高い PHP バージョンを使用する場合は、未定義の変数を使用することはできません。使用しないと、通知エラーが報告されます。$new_number と $_SESSION['check_checks'] は、使用する前に設定して使用する必要があります。それを確認するか、古いコードを使用している場合は、先頭に error_reporting(E_ALL & ~E_NOTICE) を追加して通知エラーをブロックします (推奨されません)。そのため、isset() を使用してそれが定義されていることを確認します。そうしないと、認証コードが表示されない場合があります。
推奨チュートリアル: PHP ビデオ チュートリアル
以上がPHP検証コードの画像が表示されないの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。