今日は、ローカルに新しい仮想ホストを作成し、以前作成した小さな PHP Web サイトをデプロイしましたが、以前は wamp 統合環境を使用していたので、このような状況は発生しませんでした。ここで突然、認証コードが生成できないことに気づきました。
そこで私はバグを見つける旅を始めました。インターネットでさまざまな方法を検索し、最終的に解決しました。今、それを次のように共有します:
bug1
上記の状況が発生した場合、最も基本的な間違いは、php に gd モジュールをインストールし忘れている可能性があることです。 (推奨される学習: PHP ビデオ チュートリアル )
ウィンドウ環境では、php.ini ファイルで
;extension=php_gd2.dll
を見つけて、その前のセミコロンを削除するだけです。それを再起動します。Apache の後、これは phpinfo()
で見つかります。ubuntu 環境にいる場合は、gd モジュールをインストールする必要があります。コマンドは
sudo apt-get install php5-gd
です。インストール後、上記のモジュールも表示されます。
bug2
上記のインストールを実行してもまだ動作しないことが判明した場合は、次の問題である可能性があります
あなたのコード おそらく editpuls やメモ帳などのテキスト エディタを使用して編集されるため、デフォルトのエンコード形式は BOM 付きの UTF-8 です。
UTF-8 BOM は UTF-8 署名とも呼ばれます。実際、UTF-8 の BOM は UFT-8 には影響しません。UTF-16 と UTF-32 をサポートするために追加されました。意味BOM 署名は、編集者の識別を容易にするために、現在のファイルがどのエンコーディングを使用しているかをエディターに伝えるだけですが、BOM はエディターには表示されませんが、追加の空白行と同様に出力が生成されます。
通常、私は UTF-8 BOM フリー形式を使用します
そのため、コードのエンコード形式を BOM フリー形式に変更する必要があります。
bug3
上記の 2 つの手順を実行してもまだ機能しない場合は、切り札を使用する必要があります。
ob_clean() を使用してキャッシュをクリアします。
ob_clean の機能は出力バッファの内容を破棄することです。生成された画像ファイルが多数ある場合、それらに正しくアクセスするにはバッファを頻繁にクリアする必要があります。
rree以上がPHP認証コード画像が表示できない問題の解決方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。