>  기사  >  PHP 프레임워크  >  thinkphp 인증코드가 적용되지 않는 문제 해결 방법

thinkphp 인증코드가 적용되지 않는 문제 해결 방법

藏色散人
藏色散人원래의
2021-12-27 11:32:212712검색

thinkphp 확인 코드가 적용되지 않는 해결 방법: 1. 확인 코드를 호출하기 전에 "ob_clean();" 문을 추가하세요. 2. 데이터베이스 구성 파일을 확인하고 올바르게 수정하세요.

thinkphp 인증코드가 적용되지 않는 문제 해결 방법

이 기사의 운영 환경: Windows 7 시스템, thinkphp v5.1 버전, Dell G3 컴퓨터.

thinkphp 인증 코드가 작동하지 않는 문제를 해결하는 방법은 무엇입니까?

ThinkPHP5 인증 코드가 표시되지 않는 이유와 해결책

사실 오래전 tp5 프레임워크를 막 배웠을 때 이 문제가 발생했지만, 지금은 그런 문제가 다시 발생하지 않습니다. 새 프로젝트를 수행하기 위해 이전 프레임워크를 사용하고 있는데 이 문제가 다시 발생했는데 문제의 원인은 다음과 같습니다.

1. 이 버그는 이미 TP5

2에 존재합니다. 데이터베이스에 대한 프로젝트 연결이 정상적이지 않으면 코드가 표시되지 않습니다.)

해결책:

1. TP5 자체 버그, 해당 방법은 TP5 공식 웹사이트 포럼에 나와 있습니다. 확인을 받기 전에 캐시를 삭제하세요. code

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

분석:

ob_clean 함수의 역할:

출력 버퍼의 콘텐츠를 삭제하는 데 사용됩니다. 웹 사이트에 생성된 이미지 파일이 많으면 해당 파일에 올바르게 액세스하려면 버퍼를 자주 지워야 합니다.


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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.