Maison >cadre php >PensezPHP >Comment résoudre le problème selon lequel le code de vérification thinkphp ne prend pas effet

Comment résoudre le problème selon lequel le code de vérification thinkphp ne prend pas effet

藏色散人
藏色散人original
2021-12-27 11:32:212718parcourir

Solutions pour que le code de vérification thinkphp ne prenne pas effet : 1. Ajoutez l'instruction "ob_clean();" avant d'appeler le code de vérification ; 2. Vérifiez le fichier de configuration de votre base de données et modifiez-le correctement.

Comment résoudre le problème selon lequel le code de vérification thinkphp ne prend pas effet

L'environnement d'exploitation de cet article : système Windows 7, version thinkphp v5.1, ordinateur Dell G3.

Comment résoudre le problème selon lequel le code de vérification thinkphp ne fonctionne pas ?

La raison et la solution pour laquelle le code de vérification ThinkPHP5 ne s'affiche pas

En fait, j'ai rencontré ce problème il y a longtemps lorsque je viens d'apprendre le framework tp5. Après l'avoir résolu, il n'y a plus eu de problème aujourd'hui. J'utilise le framework précédent pour faire un nouveau projet, j'ai de nouveau rencontré ce problème, et voici la raison du problème :

1. Ce bug existe déjà dans TP5

2. La connexion à la base de données n'est pas normale (la vérification. le code ne s'affichera pas lorsque la connexion du projet à la base de données n'est pas normale)

Solution :

1 Le propre bug de TP5, la méthode correspondante est donnée dans le forum du site officiel de TP5. code

/*
     * 获取验证码
     * */
    public function getVerify()
    {
        $config = [
            'fontSize' => 28,
            'length' => 4,
            'useCurve' => false,
        ];
        ob_clean();     //每次获取验证码前都清除下缓存
        $captcha = new Captcha($config);
        return $captcha->entry();
    }

Analyse :

Le rôle de la fonction ob_clean :

Utilisée pour supprimer le contenu dans le tampon de sortie. Si votre site Web contient de nombreux fichiers image générés, alors si vous souhaitez y accéder correctement, vous devez vider fréquemment le tampon.


2. La connexion à la base de données est anormale. Vérifiez s'il y a un problème avec le fichier de configuration de votre base de données 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,
];

Apprentissage recommandé : "

Les 10 derniers didacticiels vidéo thinkphp
"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn