鹰眼观察网站今天从中午开始就呈现无法连线的状态,只要连上网站都会出现「HTTP 500 Internal Server Error」的错误提示,在经过一番系统检查修复后已经重新上线,所以我特别将检查和修复过程写下笔记,提供大家日后也可作为参考。

**

工字号小小声:因为今天要进实验室跑研究,把手机丢在外头忘了带,结果一出来就看到大佬们狂CALL啊。

下面会依照最常发生问题、最简易修复等因素,将最常见的 8 种系统检测和修复的解决办法依序表列,请大家逐一操作就能慢慢解决问题啰!

一、移除旧的 .htaccess 文件

作为管理系统目录下各种权限规则设置的一个文件,这个文件如果设置错误,便会造成网络用户无法正常连线网站。因此我们可以在 Linux 服务器中,直接输入下列指令将网站的旧 .htaccess 文件名称更改名称,借以形成文件移除的假象:

sudo mv .htaccess .htaccess.old

在移除 .htaccess 文件后,可以试著重新整理网站,看看是否解决了原本的连线失败问题。如果可以解决,请记住要在后台的设定中,重新设定「固定网址」功能。

二、移除外挂程序和布景主题

有时候网站会突然就发生无法连线的错误状态,有可能是因为外挂程序(Plugins)或布景主题(Themes)自动更新后,出现新代码没有写好所致的导致系统冲突。

我们可以试著将外挂程序移除,让 WordPress 主程序不会被干扰到。

我一般建议直接将外挂程序的目录名称直接改名即可,形成被移除的假象。例如透过下列指令就能将 JetPack 外挂功能直接关闭(请在服务器位置:/wordpress根目录/wp-content/plugins/ 下执行):

sudo mv jetpack jetpack.old

你可以先一次把所有外挂通通移除,然后重新整理网站,看看是否解决了原本的连线失败问题。如果可以解决,再逐一将外挂程序的目录名称慢慢改回正常状态,在这个过程中请记住要随时重新整理网站,以找出可能出错的外挂程序。

三、增加硬盘空间容量、内存容量、MySql 内存以及 PHP 内存限制

无论是硬盘空间容量、服务器内存容量、MySql 内存限制或是 PHP 内存限制过小,都可能造成 WP 网站无法连线,请先确认上述各项详细信息[i],以便找出解决方案。

如果是硬盘空间不足,可以删除不必要的暂存文件、把图片重新压缩。如果这样做了后还是腾不出空间,可以和服务器内存容量过小的解决方案一样,直接在服务器托管供应商上进行加购设定。

一般来说 MySql 的内存限制比较容易观察,只要将服务器重新启动(Reboot)后立刻重新整理网站,如果恢复正常就有可能是先前 MySql 内存占用过高导致的系统不稳定。可以试著删减没在使用的外挂程序,减少内存占用,并针对「my.ini(my.cnf)」设定文件的参数进行修改,找出最佳设定值(这无法用三言两语带过,请自行参考网络上的详细介绍)。

如果是 PHP 内存容量不足,可以执行下面两个方法:

  1. 在 WordPress 跟目录下的「wp-admin」目录中,新增一个「php.ini」文件,写入「memory = 128MB」指令。
  2. 在 WordPress 跟目录下,修改「wp-config.php」文件,新增下列指令:

define(‘WP_MEMORY_LIMIT’,‘128M’);

四、检查 Apache 网页服务器是否正常工作

有时候会发生网站无法连线的错误,是因为 Apache 网页服务器出现异常无法正常提供服务,请参考《Linux 无法正常启动、挂载 Apache 网页服务器造成连线失败的检查指令》这篇文章中的指令说明,就能快速检查 Apache 服务器目前的工作状态。

五、检查 WP-CONFIG.PHP 设定文件

在 WordPress 根目录下有一个 wp-config.php 设定文件存有系统许多设定信息,除了 MySQL 数据库的帐号密码资料以及各种资安保护设定[ii]外,还有许多指令都会影响到 WordPress 的正常运作。

请检查 wp-config.php 文件中是否有不常见的指令被错误使用,或是指令是否完整(包含左右括号、小数点、逗点、分号等),还有更常见的是「指令的顺序」是否符合要求!

例如许多新增加控制指令,请务必放置在「/* That’s all, stop editing! Happy blogging. /」这行说明之上*;有时候指令的位置放置不对,让执行顺序无法正确解析时也有可能导致系统崩溃。

六、检查目录、文件的权限设定

如果 WordPress 目录下的目录或文件使用了错误的权限设定,也可能导致网站无法正常工作。

请在服务器供应商的 cPanel 图形管理界面或是直接使用 SSH 登入服务器后,逐一检查 WP 个目录和文件的权限设定。目录的默认权限是 755(宽松点可用 775),文件的默认权限是 644(宽松点可用 664),可用「chmod」指令进行设定。

七、重新上传 WP 核心文件

在 WordPress 根目录下有两个目录「wp-admin」和「wp-includes」是 WP 的重要系统文件,如果里面的文件出现错误或遗失也可能导致你的网站无法正确工作。

你可以在 WordPress 官方网站(WP 文件下载位置),下载最新版本的 WordPress 系统文件,并挑出你需要的文件再上传更新到你的服务器中(或是移除 wp-config.php 设定文件和 wp-content 目录后全部重新上传)。

八、洽询服务器托管服务供应商以及专业网管人员

实际上真的出现完全无法连线,而且还找不出原因的状况是可能的。

因此,要是你在执行上述 6 种方法后,依然不能解决「HTTP 500 Internal Server Error」连线失败的错误状况,我只能建议你寻求服务器托管服务供应商或是专业网管人员的协助了。

延伸阅读/推荐附录:

  1. 常用 LINUX 进阶指令与程序介绍。
  2. WordPress教学:定期更新独一密钥与盐认证(Authentication Unique Keys and Salts)加强资安防止破解入侵。
✦ 独立报道 · 读者支持 ✦

以实际行动支持独立观点,与我们一同走得更远

每一篇条理清晰的分析、每一次不随波逐流的观察,背后都是对真实与品质的坚持。我们拒绝内容农场与算法流量绑架,坚持自由独立的客观发声。

维持高品质的原创写作与独立运营,需要持续的实质力量。您可以选择一次性赞助或每月定期支持,通过 Google 安全结账,与我们一同守护这份深刻与清醒。

由 Google 安全处理付款 · 可随时在 Google 账户管理或取消