ホームページ > 記事 > PHPフレームワーク > thinkphpの検証コードが有効にならない問題の解決方法
Thinkphp 検証コードが有効にならない 解決策: 1. 検証コードを呼び出す前に「ob_clean();」ステートメントを追加します; 2. データベース構成ファイルを確認し、正しく変更します。
#この記事の動作環境: Windows 7 システム、thinkphp v5.1 バージョン、Dell G3 コンピューター。
thinkphp 検証コードが有効にならない問題を解決するにはどうすればよいですか?
ThinkPHP5 認証コードが表示されない原因と解決策
実は、私もずっと前に、この問題を学んだばかりのときにこの問題に遭遇しました。 tp5 フレームワーク。解決した後も、「問題は発生しませんでした。今日、新しいプロジェクトで前のフレームワークを使用しているときに、再びこの問題に遭遇しました。
問題の原因を記録します。」 :
1. TP5 には本質的にこのようなバグがあります
2. データベース接続が正常ではありません (プロジェクトのデータベースへの接続が正常でない場合、検証コードは表示されません)通常)
解決策:
1. TP5 自体のバグは、TP5 公式 Web サイトのフォーラムの対応する方法で解決されています。確認コードを取得する前にキャッシュをクリアしてください
/* * 获取验证码 * */ public function getVerify() { $config = [ 'fontSize' => 28, 'length' => 4, 'useCurve' => false, ]; ob_clean(); //每次获取验证码前都清除下缓存 $captcha = new Captcha($config); return $captcha->entry(); }
分析:
ob_clean 関数の役割:
出力バッファー内のコンテンツを破棄するために使用されます。Web サイトに生成された画像ファイルが多数ある場合、それらに正しくアクセスしたい場合は、バッファを頻繁にクリアする必要があります。
2. データベース接続が異常であるため、データベース構成ファイルに問題があるかどうかを確認してください。tp5 データベース構成ファイル dababase.php
return [ // 数据库类型 'type' => 'mysql', // 服务器地址 'hostname' => '', // 数据库名 'database' => '', // 用户名 'username' => root, // 密码 'password' => '', // 端口 'hostport' => '3306', // 连接dsn 'dsn' => '', // 数据库连接参数 'params' => [], // 数据库编码默认采用utf8 'charset' => 'utf8', // 数据库表前缀 'prefix' => 'ww_', // 数据库调试模式 'debug' => true, // 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器) 'deploy' => 0, // 数据库读写是否分离 主从式有效 'rw_separate' => false, // 读写分离后 主服务器数量 'master_num' => 1, // 指定从服务器序号 'slave_no' => '', // 是否严格检查字段是否存在 'fields_strict' => true, // 数据集返回类型 'resultset_type' => 'array', // 自动写入时间戳字段 'auto_timestamp' => true, // 时间字段取出后的默认时间格式 'datetime_format' => 'Y-m-d H:i:s', // 是否需要进行SQL性能分析 'sql_explain' => false, ];
推奨される調査: 「最新の 10 件の thinkphp ビデオ チュートリアル >>
以上がthinkphpの検証コードが有効にならない問題の解決方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。