wordpress出现500 Internal Server Error的排除式解决方法

昨晚看百度站长工具“抓取异常”功能,发现自己放置的一个不太管但是对今后很重要的网站,这几天了出现500错误!

wordpress出现500错误

百度站长工具“抓取异常”功能

出现500错误,那网站铁定是打不开了。惨!输入网址进行浏览,果然。一片白色,只有

500 Internal Server Error

这样的大字和一些英文。服务器除了告诉出现500错误,啥也不提示。

500 Internal Server Error

此网站真是多灾多难啊!去年9月用WORDPRESS弄的框架,先放上去养着,也没更新,不求有流量,只求个稳定,待开展业务时再调整美化和完善内容。没想到过年时回家待了一个月,没有网络,不能管理,年后打开网站竟然发现是一片空白,登陆FTP发现空间里一个文件也没了(想来应该是自己某个误操作,在没有很好的网络环境下和时间紧张的情况下导致的)。再打开百度SITE一下,没了,收录全清零了。真是,辛辛苦苦养半年,一夜回到解放前。

内心真的很悲催

华哥的内心是无比的悲催!

没有办法,收拾好心情,重新再来。2月中旬上网稳定后,赶忙把网站由本地再传至FTP上,同时在百度站长平台再次提交网址请求收录。上周发现百度收录增加了一些页面,不再是光秃秃的一个首页。同时也给网站增加了几个页面,但没足够时间来打理。没想到,这些天不理它,它又出现500 Internal Server Error问题。

(不得不赞一下百度站长工具,真的是良心产品,能够帮助发现网站的问题,好好地使用,是很有价值的。)

难道还要再来一次,回到解放前?!

如果此要命的问题不解决,那不是回到解放前,是要回到原始社会。接下来是如何解决WORDPRESS出现500的问题。

1.访问同一主机下的另一个网站,也是WORDPRESS建的。发现访问正常,再登陆主机管理面板,重启了下网站空间,发现一切照旧,可以判断此500错误和网站所在的主机环境并没有什么关联,不应该是网站空间环境(PHP配置)造成的。

2.既然不是网站环境导致,那就出在网站程序本身了。还好,网站在本地有备份。于是将备份文件放置在本地XAPMM下的htdocs目录进行测试(注意要看或修改wp-config.php文件里的数据库连接信息,要清楚连接的是哪个主机的数据库,是本地还是远程),发现网站运行很正常。

3.登陆FTP,新建备份目录,将原来的网站文件全部复制至新目录,以防万一,同时将本地所有文件再重新上传一次),结果,还是500。

4.悲剧了!这要咋整?要是能看到具体出错的信息提示就好了!这如灵光一闪,华哥隐约记得wordpress有这功能,于是打开wp-config.php(先从FTP下载,以保持和网站空间一致)文件,别说,一眼就看到了:define('WP_DEBUG', false);这一行,这下知道如何改了,将false改为true即可,即:define('WP_DEBUG', true);然后上传刷新首页。这下好了,服务器不再出现500 Internal Server Error这样的信息,而是提示了一些信息,虽然是英文,但是上面明确告诉了,是哪个WORDPRESS文件出错了。于是找到这些出错的文件,重新传上去覆盖(也有可能这些出错的文件在FTP空间里并没有,而本地运行正常的网站是有的,再次可见在本地有一个网站备份多么重要)。呵!网站好了。

5.又发现有些内容中的图片不能显示了,还好,在第3步做了备份,将uploads目录复制过去即可。(有备才能无患,网站要常备份,因为人的思虑未必会很周全,特别是在急的情况下)

以上采用的是层层排除的方法,才找到了WORDPRESS网站出现500 Internal Server Error的根本原因。最核心的一点是启用WORDPRESS的DEBUG功能,让其帮助发现是什么问题或是由哪些文件导致出错。在问题解决后,再将WP_DEBUG设为false。

500 Internal Server Error从字面上理解是服务器出错,但解决问题的法则,还得从程序本身去找。

相关文章