2

ThinkPHP5 HTTP状态码500

 3 years ago
source link: https://www.leixuesong.com/3314
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

ThinkPHP5 HTTP状态码500

PHP PHP编程ThinkPHP教程 2018年8月4日

在一次 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、自己多去断行调试,去推测并验证。不管能不能解决当前问题,都是对知识的一种巩固。

来源:ThinkPHP5 HTTP状态码500


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK