ThinkPHP5 HTTP状态码500
在一次 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、自己多去断行调试,去推测并验证。不管能不能解决当前问题,都是对知识的一种巩固。
2018年8月30日 上午9:02
页面挺简单的
2019年4月8日 上午9:23
好的 感谢!
2019年5月5日 下午7:36
好文章!666,学习了
2019年5月10日 下午4:14
写的太经典了,我竟无言以对。
2020年3月11日 下午4:09
撒大爱的
2021年6月14日 下午11:37
好文章,辛苦了