解决升级Thinkphp v5.0.11后项目报错打不开的问题
17-10-11 16:57
字数 1579
阅读 3143
已编辑
今天在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人点赞>
请登录后发表评论
相关推荐
文章归档
2024-11
1 篇
2024-06
1 篇
2024-05
2 篇
2024-04
2 篇
2024-03
2 篇
展开剩余 68 条
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 篇
最新文章
最受欢迎
11-07 19:00
06-26 11:51
05-17 17:08
05-17 10:59
04-11 17:05
13 评论
11 评论
10 评论
看了下官网的升级指导,具体的安全升级方法大家可以参考官网https://www.kancloud.cn/manual/thinkphp5_1/354155
这个解决方案只是解决了我的问题,但是可能并不适用你。生产环境请慎重。