在一次被某好友强迫帮其的ThinkPHP5项目进行部署的时候,发现返回的HTTP状态码是500,纠结了老半天,最后却被一个简单的问题绊了脚尖。
他们服务器环境是Liunx系统。前端使用的是Layui框架的项目,在浏览器请求接口的时候发现能够正常返回所查询的数据,但总是发现浏览器查看请求的状态码是红色的500。
这个时候,初步猜测是因为前端的请求不成功有关;梁俊威博主就给大家详细讲解一下是怎么解决ThinkPHP5 返回 HTTP状态码的。
起初,但发现ThinkPHP5 HTTP状态码是红色的500的时候,第一反应就是服务器内部错误,代码是不是哪里有语法错误。开始检查这个借口的逻辑是不是存在问题。
但是经过排查以后,并没有发现任何问题;内容还是返回正常,状态码一直是标红的500。
然后开始推测是不是ThinkPHP5框架需要注意的一些小细节没有做好。写了一个简单的“hello world”;结果返回结果是正常的,状态码还是老样子。
深思熟虑了一番,琢磨了好久,想到这么一个点,是不是Linux系统下runtime文件夹读写权限导致的呢?
试了一下,结果还真的是!就这样在命令行中使用chmod设置runtime文件夹权限解决了这个问题。
回头望却,用推测解决问题,还是不实在,项目实战经验的把关才是最重要的!
延伸阅读:梁俊威博主给一些初入行的程序员的建议:
1、打开调试模式,让报错或者问题可以看得到。解决问题的效率提高不是一两倍!
2、查看服务器日志。你会发现日志apache error_log中会有这么些报错。例如刚刚的:PHP Fatal error: Uncaught exception ‘think\\exception\\ErrorException’ with message ‘mkdir(): Permission denied’ 。
3、官方文档、论坛,总有前辈已经遇到过你的问题,他们都会告诉你答案,并且早已分享出来。
4、断点调试,去推测并验证。不管是否能够解决你当前发现的问题,但也是对你的旧知识的一种巩固方法!
原创文章!转载请说明出处: http://cxrs.somto.net/php/thinkphp/88.html