Apache-PHP7.4服务器上Drupal7网站突现白屏求排查方案
Drupal 7 白屏故障排查步骤(Apache-PHP7.4环境)
1. 强制启用调试模式
- 修改网站根目录下的
settings.php文件,调整错误输出配置:$conf['error_level'] = 2; // 显示所有错误信息 ini_set('display_errors', 1); ini_set('display_startup_errors', 1); - 检查文件中是否存在
error_reporting(0);这类禁用错误输出的代码,如有则直接注释。
2. 检查服务器日志
- Apache错误日志:通常路径为
/var/log/apache2/error.log(Debian/Ubuntu)或/var/log/httpd/error_log(CentOS/RHEL),重点排查PHP致命错误、文件权限拒绝、资源缺失类条目。 - PHP错误日志:通过
phpinfo()查看error_log配置的路径,或直接检查php.ini中的对应项,查找内存耗尽、函数调用失败、扩展缺失等致命错误。
3. 验证PHP环境兼容性
- 执行
php -m查看已加载扩展,确保mbstring、gd、xml、pdo_mysql等Drupal 7核心依赖扩展已安装,缺失则通过包管理器安装并重启Apache。 - 修改
php.ini中的memory_limit值为至少256M(Drupal 7推荐最低值),保存后重启Apache生效。
4. 修复文件权限问题
- 调整
sites/default/files目录权限:chown -R www-data:www-data sites/default/files chmod -R 755 sites/default/files find sites/default/files -type f -exec chmod 644 {} \; - 确保
settings.php文件权限为644,避免因权限过高触发服务器安全限制。
5. 排查模块/主题冲突
- 将
sites/all/modules重命名为sites/all/modules_disabled,仅保留核心模块目录(若单独存放),刷新网站。若白屏消失,说明第三方模块存在问题,逐个恢复模块定位故障源。 - 重命名当前使用的主题目录,切换至默认主题(如Bartik),验证是否为主题代码错误导致白屏。
6. 检查数据库状态
- 在
settings.php中确认$databases数组的主机、用户名、密码、数据库名配置正确,可添加以下代码测试连接:$conn = mysqli_connect('数据库主机', '用户名', '密码', '数据库名'); if (!$conn) { die('数据库连接失败: ' . mysqli_connect_error()); } - 登录数据库,执行
CHECK TABLE system;、CHECK TABLE users;等命令,检查核心表是否损坏,如有则用REPAIR TABLE修复。
7. 强制清理缓存
- 若能使用Drush,执行
drush cc all清理全量缓存;若无法访问Drush,手动删除sites/default/files/cache目录下的所有文件(保留.htaccess文件)。
内容的提问来源于stack exchange,提问作者Priyanka Priyadarsini Mall
相关产品推荐
相关产品推荐

