admin管理员组

文章数量:1530842

2024年7月18日发(作者:)

关于 500 internal server

error 错误

今天在用ajax请求数据的时候,突然出现了500错误,就很

纳闷,平时都这么写的代码,怎么会突然报错,查了一下500

错误的原因,应该是服务器的问题,有以下几种可能(现在把

答案整理下来,避免下次犯同样的错误):

1、服务器资源超载

如果没对网站进行什么更改的话,最可能出现的一种情况。即

当某一进程占用服务器太多资源的时候,会出现500错误,或

者nginx如果开启了access log,太多的磁盘空间被占用,

同样会出现500错误,建议在不需要的情况下,最好关闭

access log。

2、nginx配置文件错误

这里不是指语法错误,nginx如果配置文件有语法错误,启动

的时候就会提示。当配置rewrite的时候,有些规则处理不当

会出现500错误,请仔细检查自己的rewrite规则。如果配置

文件里有些变量设置不当,也会出现500错误,比如引用了一

个没有值的变量。

3、文件权限设置错误

500错误还有可能是对文件设置了不正确的权限:

后台目录和文件的权限默认应该是755,而图片,文字等html

文件应该是644,所以如果在刚刚上传文件后出现500错误,

应该主要检查文件权限设置。

可以使用FTP软件选中所有文件,然后批量修改文件权限。

开始我以为是配置文件的问题,但好像改了也没用,各种方法

都试过了,还是报同样的错误,在折腾了许久之后,偶然发现

php代码在执行完数据库查询操作后没关闭数据库通道(此时

还没意思到错误在这儿),于是添加了一行代码关闭数据库。

当我再次请求时,突然发现没报错了,惊喜万分,回过头来想

一想,终于发现了这个问题,我猜想应该是因为php代码在执

行完数据库查询操作后没有关闭数据库,导致进程一直在占用

服务器资源,于是出现了500错误,也就是上面说的第一种情

况。

在查找过程中,看到这样一片帖子

刚开始还欣喜终于找到原因了,这个情况跟我很相似,以为这

就是正确答案,结果我根本没怎么看懂,在服务器上也没找到

webservices(我是小白,都不知道webservices是个啥东

西,请原谅我的无知),最后白高兴一场,因为他错误的地方

跟我根本就不一样!

今天把这个问题写下来,避免下次再犯同样的错误,然后你还

得找半天。这也是我第一次做笔记,文笔不够。以后要学会记

录这样的问题。在成为大牛的路上爬行。。。

本文标签: 文件错误出现数据库应该