新建文章/页面时出现WordPress白屏死机(White Screen of Death)求助
解决方案:针对WordPress创建页面/文章时白屏及PHP警告问题
1. 定位警告根源
日志中的PHP Warning: Creating default object from empty value出现在post.php第742行,说明代码尝试给未初始化的$post对象赋值,而服务器PHP配置可能将警告判定为致命错误,直接触发白屏。
2. 临时修复核心文件(仅用于测试,不推荐长期修改)
找到/public_html/wp-admin/includes/post.php第742行,在该行前添加对象初始化代码:
if ( ! isset( $post ) || ! is_object( $post ) ) { $post = new stdClass(); }
完成后尝试创建页面,若白屏消失,说明问题源于$post对象未被正确初始化。
3. 检查PHP版本兼容性
确认服务器PHP版本与WordPress版本匹配:
- WordPress 5.9.8 支持 PHP 7.0~8.1
- WordPress 6.0.x 支持 PHP 7.4~8.1
若服务器PHP版本为8.2及以上,大概率存在兼容问题,联系主机商切换至符合要求的版本。
4. 调整PHP错误报告配置
在wp-config.php中添加以下代码,抑制警告类错误触发白屏:
ini_set('error_reporting', E_ALL & ~E_WARNING & ~E_NOTICE); define('WP_DEBUG', false); define('WP_DEBUG_DISPLAY', false);
5. 修复文件权限
将wp-admin/includes/post.php的文件权限设置为644,wp-admin/includes文件夹权限设置为755,避免服务器因权限问题无法读取文件。
6. 修复数据库
在wp-config.php中添加:
define('WP_ALLOW_REPAIR', true);
访问你的域名/wp-admin/maint/repair.php选择修复数据库,完成后删除上述代码,再尝试创建页面。
主机服务器可能性分析
从你已排查的步骤(更换主题、插件、WP版本)来看,主机服务器问题概率较高:
- PHP版本不兼容
- PHP错误报告级别被修改
- 文件权限被服务器自动重置
- 服务器缓存/安全机制干扰了
$post对象初始化
若上述步骤无效,联系主机商索要更详细的PHP错误日志,或请求检查服务器环境的近期变更。
内容的提问来源于stack exchange,提问作者KJA03
相关产品推荐
相关产品推荐

