在CentOS系统中安装WordPress后网页显示空白如何解决?

在 CentOS 系统上安装 WordPress 后出现“白屏”(White Screen of Death),通常是由 PHP 错误、权限问题、内存不足或配置错误导致的。以下是系统化的排查与解决步骤:


🔍 第一步:启用 PHP 错误日志(关键)

WordPress 默认不显示错误信息,需临时开启调试模式查看具体原因。

  1. 编辑 wp-config.php 文件(位于 WordPress 根目录):

    sudo vi /var/www/html/wp-config.php  # 路径根据你的安装位置调整
  2. /* That's all, stop editing! Happy publishing. */ 之前添加以下代码:

    define( 'WP_DEBUG', true );
    define( 'WP_DEBUG_LOG', true );
    define( 'WP_DEBUG_DISPLAY', false ); // 生产环境建议设为 false,避免泄露敏感信息
    @ini_set( 'display_errors', 0 );
  3. 保存后刷新页面。若仍为白屏,检查日志文件:

    sudo tail -f /var/www/html/wp-content/debug.log
    # 或根据 php.ini 配置的 log 路径查看

常见错误类型及对策:

  • PHP Fatal error → 插件/主题冲突或代码语法错误
  • Allowed memory size exhausted → 增加 PHP 内存限制(见下文)
  • Database connection failed → 数据库配置错误或服务未启动

⚙️ 第二步:检查并修复常见问题

✅ 1. 检查 PHP 内存限制

编辑 PHP 配置文件(如 /etc/php.ini/etc/php-fpm.d/www.conf):

memory_limit = 256M

重启相关服务:

sudo systemctl restart httpd    # Apache
# 或
sudo systemctl restart php-fpm  # Nginx + PHP-FPM

✅ 2. 检查文件权限

确保 Web 用户(通常是 apachenginx)有读写权限:

sudo chown -R apache:apache /var/www/html
sudo find /var/www/html -type d -exec chmod 755 {} ;
sudo find /var/www/html -type f -exec chmod 644 {} ;
# 特别注意 wp-content 子目录需可写:
sudo chmod -R 755 /var/www/html/wp-content

✅ 3. 禁用插件排查冲突

通过 FTP 或 SSH 重命名插件目录,强制停用所有插件:

sudo mv /var/www/html/wp-content/plugins /var/www/html/wp-content/plugins.old

刷新页面,若恢复正常,则逐个恢复插件排查冲突源。

✅ 4. 切换默认主题

同样操作,重命名主题目录:

sudo mv /var/www/html/wp-content/themes/twentytwentyfour /var/www/html/wp-content/themes/twentytwentyfour.bak
# (或其他当前激活的主题名)

✅ 5. 检查数据库连接

确认 wp-config.php 中的 DB 配置正确:

define('DB_NAME', 'your_db_name');
define('DB_USER', 'your_db_user');
define('DB_PASSWORD', 'your_db_password');
define('DB_HOST', 'localhost');

测试连接:

mysql -u your_db_user -p -e "USE your_db_name; SHOW TABLES;"

若失败,检查 MySQL/MariaDB 服务状态:

sudo systemctl status mariadb
# 或
sudo systemctl status mysqld

🛠️ 第三步:其他可能原因

问题 解决方案
.htaccess 损坏 重命名旧文件,WordPress 会自动重建:
sudo mv .htaccess .htaccess.bak
SELinux 阻止访问 临时测试:
sudo setenforce 0
若解决,需正确设置上下文:
sudo restorecon -Rv /var/www/html
PHP 版本不兼容 检查 WordPress 要求(当前需 PHP ≥7.4),用 php -v 验证
缺少 PHP 扩展 安装缺失扩展(如 pdo_mysql, gd, mbstring):
sudo yum install php-mysqlnd php-gd php-mbstring

✅ 最后一步:关闭调试模式

问题解决后,务必将 wp-config.php 中的调试代码改回:

define( 'WP_DEBUG', false );
// 或删除上述定义行

如果以上步骤仍无法解决,请提供:

  • debug.log 中的关键错误片段
  • phpinfo() 输出中 PHP 版本及模块列表
  • 使用的 Web 服务器(Apache/Nginx)+ PHP 方式(mod_php/FPM)

我可进一步针对性分析。