您现在的位置是:网站首页>文章内容文章内容

ThinkPHP5 HTTP状态码500

李鹏2021-06-29PHP824人已围观

在一次 ThinkPHP5 项目部署的时候,环境为Linux服务器。前端Vue项目通过Axios访问 接口,一直走catch的逻辑。直接在浏览器请求接口能返回正常数据,但是通过Chrome浏览器查看请求的状态码为红色的500。初步猜测前端请求不成功和ThinkPHP5 HTTP状态码500 有关。下面详细的讲解一下如何解决ThinkPHP5 HTTP状态码500。


当发现ThinkPHP5 HTTP状态码为标红的500时,第一反应是服务器内部错误,也就是自己代码语法有问题。 首先检查这个接口的逻辑是否有问题。经过仔细排查发现并没有问题,访问其他的接口也是类似的情况,页面内容返回正常,状态码一直是500。

然后推测是否是ThinkPHP5框架的问题,就单独的写了一个简单的返回hello world。任然出现页面内容返回正常,状态码一直是500的情况。这时我仔细回顾了一下问题和之前的推测。想了很久,是不是Linux系统下runtime文件夹读写权限导致的呢?这时抱着试一试的心态,在命令行中使用chmod设置runtime文件夹权限解决了这个问题。

回过头来看,推测来解决是很多不确定性的,需要很多项目实战经验。雷雪松给一些初入行的程序员的建议:

1、打开项目调试模式,直接让问题显示到页面上。这样可以大大的提高我们解决问题的效率。

2、查看服务器日志。这个错误就在apache error_log里面:PHP Fatal error: Uncaught exception ‘think\\exception\\ErrorException’ with message ‘mkdir(): Permission denied’ 。

3、多去官方文档、论坛和社区找答案,很多问题别人都已经遇到过,并且分享出来了。

4、自己多去断行调试,去推测并验证。不管能不能解决当前问题,都是对知识的一种巩固。

转载自:https://www.leixuesong.com/3314


0

文章评论

我的名片

姓名:李鹏

职业:PHP工程师

现居:广东-深圳

网址:https://www.lipeng93.cn