php 検証コードが読み込めない問題の解決策: 1. php.ini ファイルの「;extension=php_gd2.dll」内のセミコロンを削除します; 2. ubuntu 環境に gd モジュールをインストールします; 3. コードのエンコード形式を BOM フリー形式に変更します; 4. ob_clean を使用してキャッシュをクリアします。
このチュートリアルの動作環境: Windows 7 システム、PHP バージョン 7.1、Dell G3 コンピューター。
Php ピクチャ検証コードが表示されない場合の解決プロセス
問題
今日ローカルに新しい仮想ホストを作成し、以前作成した小さな PHP Web サイトをデプロイしましたが、以前は wamp 統合環境を使用していたので、このような状況は発生しませんでした。ここで突然、認証コードが生成できないことに気づきました。
そこで、私はバグを見つける旅を始めました。インターネットで多くの解決策を検索し、最終的に解決しました。今、それを次のように共有します:
上記の状況が発生した場合、最終的な解決策は次のとおりです。 基本的な間違いは、おそらく php に gd モジュールをインストールするのを忘れていることです。
ウィンドウ環境では、php.ini ファイルで見つける必要があるだけです。
;extension=php_gd2.dll
その前にあるセミコロンを削除するだけです。Apache を再起動した後、これは phpinfo( )
#ubuntu 環境の場合は、gd モジュールをインストールする必要があります。コマンドはsudo apt-get install php5-gdです。インストール後、上のモジュール。 [推奨学習: 「
PHP ビデオ チュートリアル 」]
bug2
UTF-8 BOM は UTF-8 署名とも呼ばれます。実際、UTF-8 BOM は UFT-8 には影響しません。UTF-16 と UTF-32 をサポートするために追加されました
BOM、BOM 署名は、編集者の識別を容易にするために現在のファイルがどのようなエンコーディングを使用しているかをエディターに伝えることを意味しますが、BOM はエディター内にあります
これは表示されませんが、追加の空白行と同様に出力が生成されます。 通常、私は UTF-8 BOM フリー形式を使用します
そのため、コードのエンコード形式を
bug3
#上記の 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'] 使用前に isset を使用して判断するか、古いコードを使用する場合は先頭に error_reporting(E_ALL & ~E_NOTICE) を追加して通知エラーをブロックする (非推奨) ため、isset() を使用して判断する必要があります。定義されていることを確認してください。そうしないと、認証コードが表示されない場合があります。
以上がPHP 検証コードをロードできない場合はどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。