在服务器迁移或网站恢复过程中,常见情况是同一套 WordPress 备份在其他环境中可正常运行,但在某一台特定服务器中出现页面异常。此问题通常并非 WordPress 文件或数据库本身出错,而是该服务器上的软件环境或配置问题所导致。

本文总结如何恢复默认 Apache + PHP 环境,并系统排查可能引发 WordPress 页面异常的常见原因,供参考。


🟢 恢复默认 Apache + PHP 环境

卸载 Apache 与 PHP

首先,彻底卸载 Apache 与 PHP 所有相关软件包及配置文件:

apt remove --purge apache2* php* libapache2-mod-php* -y
apt autoremove -y
rm -rf /etc/apache2
rm -rf /etc/php

重新安装 Apache

apt update
apt install apache2 -y

此时会恢复默认虚拟主机,DocumentRoot 路径为 /var/www/html


重新安装 PHP 及常用扩展

WordPress 依赖多个常用 PHP 扩展,建议一次性安装以下常见组件:

apt install php libapache2-mod-php php-mysql php-xml php-gd php-curl php-mbstring php-zip php-fpm php-intl php-bcmath unzip wget -y

安装完成后,执行以下命令启用必要模块并重启 Apache:

a2enmod rewrite
a2enmod php
systemctl restart apache2

🟢 WordPress 恢复后异常排查清单

当 WordPress 在其他主机正常,唯独在某台主机异常,通常是环境配置或文件权限问题,可参考以下排查流程。


1️⃣ 检查 PHP 版本与扩展

执行以下命令查看 PHP 版本与已启用扩展:

php -v
php -m

确保版本满足 WordPress 要求(建议 7.4 以上),并包含以下必要扩展:

  • mysqli
  • gd
  • mbstring
  • curl
  • zip
  • intl
  • bcmath
  • xml

2️⃣ 检查 Apache 模块

查看 Apache 已启用的模块:

apache2ctl -M

确保 rewrite_module 模块已启用,否则会影响 WordPress 永久链接(漂亮 URL)。


3️⃣ 检查文件权限

查看 WordPress 文件夹权限与所属用户:

ls -l /var/www/html

若权限不正确,可使用以下命令修正:

chown -R www-data:www-data /var/www/html
find /var/www/html -type d -exec chmod 755 {} \;
find /var/www/html -type f -exec chmod 644 {} \;

4️⃣ 检查 .htaccess 文件

确认根目录下是否存在 .htaccess 文件,并包含以下 WordPress 默认 rewrite 规则:

# 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

如有缺失,可新建或补充。


5️⃣ 检查数据库配置

确认 wp-config.php 中数据库信息(DB_HOST、DB_NAME、DB_USER、DB_PASSWORD)与该主机数据库一致。


6️⃣ 查看浏览器控制台错误

通过浏览器开发者工具(F12)查看 Console 和 Network,排查是否存在 404、403、500 等错误请求,或静态资源加载失败。


7️⃣ 查看错误日志

查看 Apache 或 PHP 错误日志,可快速定位内部错误:

tail -f /var/log/apache2/error.log

tail -f /var/log/php*/error.log

🟢 Apache 是否需要 php-fpm

在 Apache 环境中,可通过两种方式运行 PHP:

  • mod_php(libapache2-mod-php)
    通过 Apache 内建模块直接处理 PHP,简单、常用、无需 php-fpm。
  • php-fpm(FastCGI Process Manager)
    通过独立进程运行 PHP,Apache 通过 proxy_fcgi 模块转发请求,适合多站点、多版本或需要更细粒度资源控制的场景。

对于多数单站或一般场景,仅使用 mod_php 即可,无需 php-fpm,且与 WordPress 100% 兼容。


🟢 总结

在特定主机中,WordPress 还原后页面异常通常是系统环境问题,包括 PHP 扩展缺失、模块未启用、文件权限错误、配置不一致等。

通过系统排查软件包、Apache 模块、PHP 扩展、权限与配置文件,可快速定位并解决问题。

Leave a Reply

Your email address will not be published. Required fields are marked *