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

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

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

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

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

TP5-web目录结构

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

正确的目录布置如图:

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

最后吐槽一下thinkphp5:

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

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏月牙寂

k8s源码分析-----Mux And Broadcaster

第一时间获取文章,可以关注本人公众号 月牙寂道长 yueyajidaozhang

3256
来自专栏架构师之路

无线APP时代HTTP请求DNS优化-通用

缘起:无线时代,网络稳定性差,应用流量敏感,APP与server之间每次HTTP请求都需要DNS解析,有没有优化方法呢? 一、PC时代,HTTP请求处理过程 ?...

3506
来自专栏腾讯DevOps

Git远程库操作1

选择SSH方式,请先配置好公钥私钥,参见:https://code.tencent.com/help/productionDoc/profile#ssh

3764
来自专栏北京马哥教育

25个必须记住的SSH命令

OpenSSH是SSH连接工具的免费版本。telnet,rlogin和ftp用户可能还没意识到他们在互联网上传输的密码是未加密的,但SSH是加密的,OpenSS...

3905
来自专栏王亚昌的专栏

进程访问外部接口的超时设置

    早上发现WEB SRV上的FCGI进程全部挂住了,查看日志才发现是访问一个外部接口的时候因为失败率比较高,导致FCGI进程都堵在接收回包上了,因为超时设...

911
来自专栏北京马哥教育

大神教你DIY高性能运维堡垒体系

概述 不怕出问题,就怕出问题找不到原因 运维团队一般会有个需求就是记录运维或者开发同事在服务器上的操作记录,比如进行一些常规审核或者是服务器被黑了、服务器日志被...

4676
来自专栏FreeBuf

教你如何和使用这款强大的渗透平台-Xerosploit

写在前面的话 在这篇教程中,我们将教会大家如何使用Xerosploit。Xerosploit是一款渗透测试工具包,它的主要功能就是执行中间人攻击。它本身自带有多...

2719
来自专栏EAWorld

微服务系统之认证管理详解

微服务大行其道,微服务安全也是非常热门的话题。本文向大家分享微服务系统中认证管理相关技术。其中包括用户认证、网关和 API 认证、系统间和系统内的认证,以及我们...

3081
来自专栏程序员的酒和故事

Golang中使用echo框架、MongoDB、JWT搭建REST API

生命不止,继续go go go !!! 之前介绍过golang中restful api的博客,是使用redis作为持久化,httprouter作为框架: Go...

6395
来自专栏安恒信息

Apache Tomcat 安全漏洞预警

1 Apache Optionsbleed 漏洞跟进 2017年9月18日,Apache公告了HTTP OPTIONS方法内存泄露漏洞,代号“Optionsbl...

3607

扫码关注云+社区

领取腾讯云代金券