thinkphp5.0的验证码安装和相关错误
问题
只要是之前使用thinkphp5框架搭建网站的时候发现不管如何调用验证码都无法使用,按照官网要求,使用composer安装验证码出现报错Fatal error: Class 'Route' not found in XXXX
解答
在使用之前,主要还是在php版本上需要注意。thinkphp5版本在php7上可以很好的运行,但当thinkphp5运行在php5.4上就会存在许多问题。可能造成插件不可使用。
-
thinkphp5.0可以使用composer进行安装。thinkphp5的大部分插件也支持使用composer进行安装和引用,在这里引用一篇其他作者写好的window系统如何使用composer并加载thinkphp框架。在安装完成composer之后,可以在项目文件中使用composer create-project topthink/think tp5 --prefer-dist命令直接安装thinkphp
Window系统怎么安装Composer并加载ThinkPhP框架
-
安装验证码过程使用composer require topthink/think-captcha进行对验证码的安装,如果出现以下问题,原因是vendor内缺少topthink文件,可以使用composer require topthink/framework 5.1.x-dev进行安装(版本号好像一定要加这个,不然就算安装成功后,在安装验证码时还是会报错,原因暂时还不清楚)
-
之后再使用composer require topthink/think-captcha进行安装验证码,就可以成功安装验证码
-
目前验证码安装完毕,但却出现了Fatal error: Class 'Route' not found in XXXX报错现象,
-
之后仔细看了下,发现存在两种可能性(1.需要在配置中添加'auto_start' => true, 'url_route_on' => true配置,2thinkphp版本问题,可以在thinkphp->library->think->App.php文件中找到版本号,主要是使用composer require topthink/framework (5.1.x-dev)安装时安装的版本与thinkphp5版本号不对)
-
在配置文件中添加内容后还是接着出现了之前的报错。所以确认了问题出现在版本上,之后就可以安装相应的版本了。。。我这边试了下,还是使用了重新安装tp5框架的方法,应为我不知道我使用的版本是多少。使用命令composer create-project topthink/think tp5 --prefer-dist重新安装tp5框架
-
到目前为止,整体就安装完毕了,在项目中重新加载使用验证码的地方,就可以看到验证码了
注意
php版本最好高于php5.6
参考:
thinkphp5.0的验证码安装和相关错误_百度经验
https://jingyan.baidu.com/article/49711c619ab02cfa441b7ce2.html