解决升级Thinkphp v5.0.11后项目报错打不开的问题
                                                                
                17-10-11 16:57
                字数 1579
                阅读 3631
                                已编辑
                                            
            今天在composer安装图像处理扩展时,同时thinkphp的版本升级到了v5.0.11最新版。
安装完成后运行项目发现直接报错,而且没有记录log、没有提示信息。这也太坑了吧。
于是从入口文件开始排查原因,最后发现只要是验证码的类库文件出现了bug。    
首先找到您的项目/vendor/topthink/think-captcha/src目录。    
首先打开helper.php
找到头几行代码
Route::get('captcha/[:id]', "\think\captcha\CaptchaController@index");    
Validate::extend('captcha', function ($value, $id = '') {    
    return captcha_check($value, $id);    
});    
Validate::setTypeMsg('captcha', ':attribute错误!');    如果是使用phpstorm这类比较智能的ide,可以很明显的发现错误,少些了命名空间。
更改如下    
thinkRoute::get('captcha/[:id]', "\think\captcha\CaptchaController@index");    
thinkValidate::extend('captcha', function ($value, $id = '') {    
    return captcha_check($value, $id);    
});    
thinkValidate::setTypeMsg('captcha', ':attribute错误!');    然后是这行代码
function captcha_src($id = '')    
{    
    return Url::build('/captcha' . ($id ? "/{$id}" : ''));    
}    还是命名空间的问题、更改如下
function captcha_src($id = '')    
{    
    return thinkUrl::build('/captcha' . ($id ? "/{$id}" : ''));    
}    然后是最后一个函数
function captcha_check($value, $id = '')    
{    
    $captcha = new thinkcaptchaCaptcha((array) Config::pull('captcha'));    
    return $captcha->check($value, $id);    
}    还是命名空间的问题 并且Config类没有pull方法、推测应该是Cache类、更改如下    
function captcha_check($value, $id = '')    
{    
    $captcha = new thinkcaptchaCaptcha((array) thinkCache::pull('captcha'));    
    return $captcha->check($value, $id);    
}    然后找到CaptchaController.php
还是命名空间的问题
use thinkfacadeConfig;    这是什么鬼啊。更改如下
use thinkCache;    然后是index方法    
public function index($id = "")    
    {    
        $captcha = new Captcha((array) Config::pull('captcha'));    
        return $captcha->entry($id);    
    }    Config类并没有一个叫pull的静态方法、更改入下    
public function index($id = "")    
    {    
        $captcha = new Captcha((array) Cache::pull('captcha'));    
        return $captcha->entry($id);    
    }    最后是Captcha.php
同样的命名空间的问题
use thinkfacadeSession;    更改如下
use thinkSession;    改完这些项目应该就能正常运行了。
0人点赞>
                    请登录后发表评论
        
        相关推荐
        
    文章归档
    2025-09
                
                    1 篇
                
            
                    
                2025-08
                
                    7 篇
                
            
                    
                2025-07
                
                    1 篇
                
            
                    
                2025-05
                
                    2 篇
                
            
                    
                2024-11
                
                    1 篇
                
            
                                展开剩余 72 条
                            
                    2024-06
                    
                        1 篇
                    
                
                            
                    2024-05
                    
                        2 篇
                    
                
                            
                    2024-04
                    
                        2 篇
                    
                
                            
                    2024-03
                    
                        2 篇
                    
                
                            
                    2024-01
                    
                        1 篇
                    
                
                            
                    2023-10
                    
                        1 篇
                    
                
                            
                    2023-09
                    
                        1 篇
                    
                
                            
                    2023-08
                    
                        1 篇
                    
                
                            
                    2023-06
                    
                        1 篇
                    
                
                            
                    2023-04
                    
                        1 篇
                    
                
                            
                    2022-12
                    
                        2 篇
                    
                
                            
                    2022-06
                    
                        1 篇
                    
                
                            
                    2022-04
                    
                        4 篇
                    
                
                            
                    2022-03
                    
                        3 篇
                    
                
                            
                    2022-01
                    
                        6 篇
                    
                
                            
                    2021-12
                    
                        2 篇
                    
                
                            
                    2021-11
                    
                        2 篇
                    
                
                            
                    2021-10
                    
                        2 篇
                    
                
                            
                    2021-09
                    
                        1 篇
                    
                
                            
                    2021-08
                    
                        2 篇
                    
                
                            
                    2021-07
                    
                        4 篇
                    
                
                            
                    2021-06
                    
                        1 篇
                    
                
                            
                    2021-05
                    
                        3 篇
                    
                
                            
                    2021-04
                    
                        3 篇
                    
                
                            
                    2021-01
                    
                        2 篇
                    
                
                            
                    2020-11
                    
                        1 篇
                    
                
                            
                    2020-10
                    
                        3 篇
                    
                
                            
                    2020-09
                    
                        2 篇
                    
                
                            
                    2020-08
                    
                        1 篇
                    
                
                            
                    2020-07
                    
                        5 篇
                    
                
                            
                    2020-06
                    
                        5 篇
                    
                
                            
                    2020-05
                    
                        1 篇
                    
                
                            
                    2020-04
                    
                        1 篇
                    
                
                            
                    2020-03
                    
                        2 篇
                    
                
                            
                    2020-02
                    
                        3 篇
                    
                
                            
                    2020-01
                    
                        1 篇
                    
                
                            
                    2019-11
                    
                        5 篇
                    
                
                            
                    2019-10
                    
                        10 篇
                    
                
                            
                    2019-09
                    
                        12 篇
                    
                
                            
                    2019-08
                    
                        17 篇
                    
                
                            
                    2019-07
                    
                        8 篇
                    
                
                            
                    2019-05
                    
                        3 篇
                    
                
                            
                    2019-04
                    
                        8 篇
                    
                
                            
                    2019-03
                    
                        7 篇
                    
                
                            
                    2019-02
                    
                        8 篇
                    
                
                            
                    2019-01
                    
                        5 篇
                    
                
                            
                    2018-12
                    
                        7 篇
                    
                
                            
                    2018-11
                    
                        8 篇
                    
                
                            
                    2018-10
                    
                        4 篇
                    
                
                            
                    2018-09
                    
                        7 篇
                    
                
                            
                    2018-08
                    
                        12 篇
                    
                
                            
                    2018-07
                    
                        9 篇
                    
                
                            
                    2018-06
                    
                        6 篇
                    
                
                            
                    2018-05
                    
                        11 篇
                    
                
                            
                    2018-04
                    
                        18 篇
                    
                
                            
                    2018-03
                    
                        1 篇
                    
                
                            
                    2018-02
                    
                        2 篇
                    
                
                            
                    2018-01
                    
                        10 篇
                    
                
                            
                    2017-12
                    
                        14 篇
                    
                
                            
                    2017-11
                    
                        44 篇
                    
                
                            
                    2017-10
                    
                        13 篇
                    
                
                            
                    2017-09
                    
                        4 篇
                    
                
                            
                    2017-08
                    
                        12 篇
                    
                
                            
                    2017-07
                    
                        5 篇
                    
                
                            
                    2017-06
                    
                        4 篇
                    
                
                            
                    2017-05
                    
                        2 篇
                    
                
                            
                    2017-04
                    
                        3 篇
                    
                
                            
                    2017-03
                    
                        9 篇
                    
                
                            
                    2017-02
                    
                        3 篇
                    
                
                            
                    2017-01
                    
                        2 篇
                    
                
                            
                    2016-12
                    
                        10 篇
                    
                
                            
                    2016-11
                    
                        4 篇
                    
                
                        最新文章
        最受欢迎
    09-04 16:48
                    08-26 17:01
                    08-26 00:10
                    08-16 00:23
                    08-15 16:15
                    13 评论
                    11 评论
                    10 评论
                     
         
                 
                     
     
    
看了下官网的升级指导,具体的安全升级方法大家可以参考官网https://www.kancloud.cn/manual/thinkphp5_1/354155
这个解决方案只是解决了我的问题,但是可能并不适用你。生产环境请慎重。