如何修复网站的内部服务器错误?
如果你有过运维网站一年以上经验,相信一定遇到过网页打不开,并且提示内部服务器错误(500 – Internal server error)的情况。虽然对站长而言,这是一个比较常见
错误,但足以让新手一时间不知所措。慌不择路是最糟糕的应对方式。这时你应该深呼吸一下,毕竟在此之前它还是好好的。
事实上,这个错误就跟数据库连接错误,白屏错误等一样,我们只是需要多些耐心去定位错误,然后将它修复。下面这篇文章将给大家些指引。
你的网站为什么会报内部服务器错误?
内部服务器错误(500 – Internal server error)可以是由于服务器上任何应用出错所导致。因为影响的因素实在太多,很难让站长直接定位到问题点。此时问站长如何修复这个内部服务器错误,就好比
让医生在未知患者疼痛点的情况下给出具体的止痛方案。也就是说,网站内部服务器错误通常是由被一些web插件和功能错误导致。此外,我们遇到的情况还有:
- .htaccess文件崩溃;
- PHP内存限制。
当然,我们还遇到过仅当用户访问后台界面是才报这个错误,访问网站其他链接都一切正常。
内部服务器错误的检查步骤
如果你的网站不幸出现了内部服务器错误提示,可以静静地考虑一下最近服务器配置上做了哪些改动,如果确实没有改动,那么按照下面的步骤检查一遍:
1、检查是否.htaccess文件崩溃
出现内部服务器错误(500 – Internal server error)提示时,你首先要检查的是.htaccess文件是否发生了崩溃。你可以登录你的网站后台,在网站的根目录和部分子目录下找到.htaccess文件,并简单将其改名为.htaccess_old。改名后,你需要再刷新网页看问题是否已经解决了。如果能正常打开网页了,那么恭喜你找到问题所在了,修复.htaccess文件就好了。
2、增加PHP的内存限制
随着网站内容的增长,内存消耗也不断增多。当网站的PHP设置的内存限制不够用时,也会发生内部服务器错误(500 – Internal server error)的情况。增加PHP的内存限制首先要检查网站应用对内存使用的限制,这个根据不同的应用有不同的设置文件;其次,要到PHP的安装目录找到一个叫php.ini的文件,打开并找到memory_limit的配置行,修改它的指来增加内存使用的大小限制。如果你还有其他方法,也欢迎告诉小卓。
如果增大内PHP的内存限制后,网站可以正常访问了,那么恭喜你暂时解决了这个问题。之所以说是暂时,是因为网站服务器里也许隐藏有不断吃内存的东西,它可能是一个插件,也有可能是一个功能应用,你需要去继续排查。当然,这需要些技术,如果你搞不定,也可以联系找到像卓优互联这样的网络公司,并提供服务器的日志记录,让专业人士来诊断具体问题。
3、禁用所有插件
如果上述方法都不能修复内部服务器错误问题,那么极有可能是某些特殊的第三方插件导致的错误。现在网站都有多个网络应用,每个网络应用都有用到第三方插件,但第三方插件的质量参差不齐,另一方面,插件安装较多时,插件与插件之间不兼容的机会就大大增加。要确定是否是插件导致的问题,我们只需要在后台禁用所有插件的功能,然后再打开网页看看页面是否能打开了。如果可以了,那么接下来你需要逐一开启插件后再刷新网站页面做检查,直到定位到问题插件。
4、重新上传核心代码
如果上述所有方法都不奏效,那么有可能是网站应用的部分核心代码崩溃了。此时你需要重新上传核心代码到服务器,然后将核心代码覆盖。注意:不是将整个网站应用上传覆盖,因为核心代码不涉及到网站的自定义信息。
5、咨询网站托管商
如果上述步骤都试了,还是有内部服务器错误(500 – Internal server error)提示,那么是时候联系你的网站托管商了。通过服务器端的日志记录,他们能找到服务器基本层面的问题。
对于内部服务器错误,有很多中可能的解决方法。上面的解决方法有帮到你解决问题吗?如果这样,请给我们留言。你的网站过去曾经遇到过内部服务器错误吗?最终又是怎样修复的?如果你的解决方法不在上面,也请留言给我们。我们会将你的方法更新到文章中去。