class 'thread' not found php,Thinkphp5.1验证码错误Class ‘think\captcha\Captcha’ not found的解决方法...

今天使用thinkphp5.1遇到个问题,验证码功能在本地环境调试正常,放到服务器上却无法显示,给出的错误信息是:致命错误: Class ‘think\captcha\Captcha’ not found

在官方网站找了半天,只发现有其他人也遇到了这问题,却没人给出解决方法。

我的本地环境和服务器环境一样,唯一不同就是:本地的入口文件是在thinkphp5目录下的public目录,服务器上的入口文件是在一个和thinkphp5同级的另外一个目录里面(这是因为我听从了TP5文档的建议把非入口文件放到WEB访问目录以外的目录)。

我的目录结构如下:(index-u.php是我的入口文件)

2a44837042aea5f951ff52c6f9a400e2.png

TP5-web目录结构

思来想去,系统提示Captcha类不存在,应该是因为相关文件没有被加载,应该是路径问题。这些文件在vendor文件夹内。我是新手也不会准确调试查找错误,就只能用笨方法了。通过把thinkphp目录下的vendor复制到多个不同文件夹下测试,最后找到了解决方法:就是把vendor文件夹复制到WEB访问目录的父目录里面,使它成为和WEB访问目录同级的一个目录。

正确的目录布置如图:

e45836583c65c79b2cb86c1c97c4f119.png

TP5验证码无法显示的解决方法

最后吐槽一下thinkphp5:

1、既然提倡入口文件和框架其他文件分离,就应该考虑到不是所有用户都会把入口文件放到thinkphp框架内的public文件夹。自动判断一下rootpath没什么难度吧。

2、官网有好几个人反应遇到了这样的问题,有的还是好几个月前问的,却从来没有人给出解决方案,甚至零答复。似乎没什么人关心thinkphp5,活跃度好像有点惨。新事物的船,还是晚上一点坐着才省心。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值