WordPress 报错不可怕,可怕的是不知道哪里出了问题。 下面我把平时最容易遇到的 WordPress 报错整理成一份“傻瓜版”对照表,遇到哪个直接翻到哪条,照着做基本都能解决。
你看到的报错:
Error establishing a database connection
或者中文提示:“无法建立数据库连接”
意思是: WordPress 找不到数据库了。
常见原因:
解决办法:
wp-config.php 文件。define('DB_NAME', '你的数据库名');
define('DB_USER', '数据库用户名');
define('DB_PASSWORD', '数据库密码');
define('DB_HOST', 'localhost');
# @ $ %,别乱改,最好直接从主机商那里复制数据库密码。你看到的报错: 打开的页面是纯白色,什么内容都没有。
意思是: 程序报错了,但错误被隐藏了。
常见原因:
解决办法:
wp-content/themes 文件夹,把你当前用的主题文件夹改个名,比如改成 主题文件夹名_old。
WordPress 看到主题没了,会自动切到默认主题,这样你就能进后台了。wp-content/plugins 文件夹改名为 plugins_old,这样就禁用了所有插件。wp-config.php 里加一行代码:
define('WP_MEMORY_LIMIT', '256M');
加到 /* That's all, stop editing! */ 上面。
你看到的报错:
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 20480 bytes)
意思是: PHP 内存不够用了。
解决办法:
wp-config.php,在文件中加入:
define('WP_MEMORY_LIMIT', '256M');
如果不行就改成 512M。
PHP设置 或 php.ini 里修改:
memory_limit = 512M
你看到的报错:
500 Internal Server Error
网站直接打不开,通常没有详细提示。
常见原因:
.htaccess 文件损坏解决办法:
.htaccess 文件改名为 .htaccess_old,再看网站能不能打开。
如果好了,就是 .htaccess 的问题。重新登录到后台,到“设置 → 固定链接”里重新保存一下就好。你看到的报错:
一直跳转回登录页,根本进不了后台,比如:wp-login.php 反复跳转。
常见原因:
解决办法:
wp-config.php,加入:
define('WP_HOME', 'http://你的域名');
define('WP_SITEURL', 'http://你的域名');
注意不要带结尾斜杠。
你看到的报错: 文章写完了,点击发布,结果链接打开是 404 Not Found。
常见原因:
.htaccess 权限不对解决办法:
mod_rewrite。.htaccess 文件是否存在,并且内容类似:
# BEGIN WordPress
<;IfModule mod_rewrite.c>;
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
<;/IfModule>;
# END WordPress
如果文件丢了,重新创建一下。
你看到的报错:
The uploaded file exceeds the upload_max_filesize directive in php.ini
意思是: 服务器限制了上传文件的大小。
解决办法:
upload_max_filesize 改成 64M 或 128M。post_max_size 改成比上传限制更大的值,比如 128M。memory_limit 改成 256M。如果用的是虚拟主机不能改 php.ini,可以试试在 .htaccess 里加:
php_value upload_max_filesize 64M
php_value post_max_size 128M
不行的话,只能找主机商处理。
你看到的报错:
Unable to create directory wp-content/uploads/2024/06. Is its parent directory writable by the server?
意思是: 上传目录不存在,或者没有写入权限。
解决办法:
wp-content 文件夹,看看有没有 uploads 文件夹。uploads 文件夹。uploads 文件夹的权限设置为 755 或 775。777(注意临时使用,成功后改回来)。wp-content 文件夹本身的权限是不是 755 或 775。你看到的报错:
Briefly unavailable for scheduled maintenance. Check back in a minute.
意思是: WordPress 正在自动更新,但更新卡住了,或者没删干净维护文件。
解决办法:
.maintenance 文件。你看到的报错:
Update failed: Could not create directory.
或者:
Unable to write to wp-content/plugins/
意思是: WordPress 没有权限写入插件或主题目录。
解决办法:
wp-content/plugins 和 wp-content/themes。755 或 775。www 或 nobody。777,更新完后改回 755。你看到的报错:
Warning: Cannot modify header information - headers already sent by (output started at ...)
意思是: 在输出内容之前,有文件输出了空白字符、中文标点或空格。
常见原因:
wp-config.php 文件里,<;?php 前面有空格或空行?>; 并且后面跟着换行解决办法:
wp-config.php。<;?php,前面不能有任何内容。?>;,建议直接删掉 ?>;,一个文件最后一行不要留任何多余字符。你看到的报错:
The site is experiencing technical difficulties.
这是新版 WordPress 的致命错误提示。
意思是: 网站出现了致命错误,但为了安全,只给了用户一个模糊提示。
解决办法:
wp-config.php,把 define('WP_DEBUG', false); 改成:
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
wp-content/debug.log 看详细日志。WP_DEBUG 改回 false。上面这些报错,绝大多数都和主题、插件、权限、配置有关。 遇到问题不要慌,先做这三件事:
plugins 文件夹改个名,禁用所有插件。wp-config.php,开启 WP_DEBUG 看具体错误。只要能定位到具体文件,问题就解决一半了。
希望这份“报错对照表”能帮到你。