我们在给 WordPress 用户排查网站问题时,多次遇到“由于意外输出导致 Cookie 被阻止”的错误。
这也是一个比较常见问题,可能会阻止登录或访问 WordPress 仪表盘,总在关键时刻掉链子。通常,这个错误会在进行一些小调整后出现,例如编辑主题或启用插件,找到问题原因还是比较头疼的。但也别担心,这个问题是完全可以修复的。
在本篇文章中,会分享解决这个错误的具体步骤,恢复网站。
什么导致“由于意外输出导致 Cookie 被阻止”错误?
根据我们的经验,当自定义代码片段、WordPress 插件或主题产生意外输出,导致 WordPress 文件无法按正确顺序加载时,就会出现这个错误。
WordPress 在后台运行一系列特定指令让网站正常运作。如果某个过程被打断,WordPress 可能会出现异常行为。
在这种情况下,错误发生是因为 WordPress 无法设置登录 Cookie,就算其余代码加载正常。
错误示例:由于意外输出导致 Cookie 被阻止
这个小问题会带来很大的不便。例如,它可能会阻止管理员和其他用户登录 WordPress 网站。
下面是我们常见的一些导致这个错误的原因:
1. PHP 文件中的额外空白
- 文件如
wp-config.php
或插件文件中无意添加的空格或空行可能导致此问题。
2. 插件冲突
- 某些插件可能会输出意外内容,干扰 Cookie 的正常设置。
3. 旧版本的 WordPress 核心、插件或主题
- 使用旧版本可能导致兼容性问题和错误。
4. 自定义代码
- 如果最近在网站添加了自定义代码,这可能是导致问题的原因。
5. 主机环境问题
- 在极少数情况下,服务器配置错误也可能导致此错误。
了解这些原因后,从哪里开始排查问题就有思路了。在接下来的部分中,我们会逐步指导如何修复这些问题。
如何修复“由于意外输出导致 Cookie 被阻止”错误
修复这个错误看起来很棘手,但实际上比想象的要简单。我们从最常见的错误原因开始排查。
1. 检查 PHP 文件中的额外空白
导致此错误的最常见原因之一是 WordPress 文件中的额外空白。这些空白可能出现在 PHP 文件的 <?php
开头标签之前或 ?>
结束标签之后。即使是一个空行,也有可能引发问题。
解决方法:
1. 用 FTP 客户端或主机控制面板中的文件管理工具访问网站文件。
2. 找到 wp-config.php
文件,这是最常见可能出现额外空白的文件之一。
3. 打开文件,确保:
- 文件开头的
<?php
标签之前没有空行或空格。 - 文件结尾没有多余的
?>
标签或其后空行。
4. 保存修改,并刷新网站查看问题是否解决。
如果问题仍未解决
如果问题依然存在,则需要对其他常被编辑的 WordPress 文件重复上述步骤。例如,如果最近编辑或更新了 WordPress 主题,可以检查主题的 functions.php
文件。
清理 PHP 代码前的空白通常可以解决问题。
然而,一个 WordPress 网站包含数百个 PHP 文件,其中许多位于插件和主题中,逐一检查和清理它们是不现实的。
接下来判断是否是插件或主题导致了这个错误。
2. 暂时停用所有插件
有时候,插件冲突会在 WordPress 中导致意外输出,从而引发“由于意外输出导致 Cookie 被阻止”的错误。暂时停用所有插件是检查问题是否由插件引起的最快速的方法。
如果可以访问仪表盘:
1. 转到 插件 » 已安装插件 页面。
2. 选中所有插件,从批量操作下拉菜单中选择“停用”,然后点击“应用”。
3. 停用所有插件后,尝试登录或刷新页面,检查错误是否已解决。
如果无法访问 WordPress 管理后台:
1. 用 FTP 客户端或主机控制面板的文件管理工具连接到 WordPress 网站。
2. 导航到 wp-content 文件夹。
3. 找到名为 plugins 的文件夹,右键点击并选择“重命名”选项。
4. 将文件夹名称更改为任意名称,例如 plugins.deactivated
。
WordPress 会查找名为 plugins 的文件夹来加载已激活的插件。如果找不到这个文件夹,它将无法激活任何插件,并会自动将所有插件设置为停用。
检查问题:
- 如果错误在停用所有插件后消失,则说明问题由某个插件引起。
- 逐个重新激活插件,找出触发错误的插件。
- 确认问题插件后,可以找功能类似的插件替换。
3. 切换到默认的 WordPress 主题
网站的 WordPress 主题也可能导致“由于意外输出导致 Cookie 被阻止”的错误。主题冲突可能是由于过时的代码或自定义内容的意外输出引起的。
步骤 1:切换到默认主题(通过后台操作)
如果可以访问 WordPress 管理后台:
- 转到 外观 » 主题 页面。
- 切换默认主题(通常以年份命名,如 Twenty Twenty-Five 或 Twenty Twenty-Four)。
- 如果默认主题已安装,点击“激活”切换到该主题。
- 如果没有安装默认主题,点击顶部的“添加新主题”按钮,搜索并安装默认主题。
步骤 2:切换到默认主题(通过 FTP 或文件管理器操作)
1. 如果无法访问 WordPress 管理后台:
- 使用 FTP 客户端或主机文件管理工具连接到网站。
- 导航到
/wp-content/
文件夹。 - 找到 themes 文件夹,右键选择“重命名”,将其更名为
themes-deactivated
。
- 右键选择 FTP 客户端的“新建文件夹”选项,命名为
themes
,创建一个新的空文件夹。
2. 下载并上传默认主题:
- 前往 WordPress 官方主题目录,找到默认主题(如 Twenty Twenty-Five 或 Twenty Twenty-Four),并下载到电脑上。
- 解压下载的主题 ZIP 文件,得到主题文件夹。
- 使用 FTP 或文件管理工具,将解压后的主题文件夹上传到你的网站的
themes
文件夹中。
3. WordPress 会自动使用 themes
文件夹中唯一的主题作为默认主题。
检查结果
- 如果切换到默认主题后错误消失,则说明问题出在之前的主题上。
- 可以检查主题更新、修复主题代码,或者换一个主题。
4. 使用 WP_DEBUG 模式进行调试
如果问题仍然存在,可以启用 WordPress 的调试模式来帮助识别错误的具体原因。
什么是 WP_DEBUG 模式?
WP_DEBUG 模式是 WordPress 的内置功能,它可以记录错误和警告,帮助你找到导致意外输出的根源。
如何启用 WP_DEBUG 模式
1. 用 FTP 客户端或主机控制面板中的文件管理工具,访问网站的 WordPress 文件。
2. 找到根目录中的 wp-config.php
文件,并打开进行编辑。
3. 找到以下代码行:
/* That’s all, stop editing! Happy publishing. */
在这行代码的上方添加以下代码:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
- 第一行启用调试模式。
- 第二行创建一个日志文件以存储错误信息。
- 第三行防止错误信息显示在网站页面上。
保存文件更改。
检查调试日志
- 保存更改后,WordPress 会在
/wp-content/
文件夹中生成一个名为 debug.log 的日志文件。 - 打开该文件,查看记录的错误和警告信息。
禁用 WP_DEBUG 模式
1. 找到 WP_DEBUG
的定义,将其值设置为 false
,如下所示:
define( 'WP_DEBUG', false );
2. 禁用调试模式可以防止敏感信息暴露。
如果已尝试上面所有步骤但错误仍然没有解决,那么联系专业的WordPress故障修复团队解决。
联系我们 |
---|
文章看不懂?联系我们为您免费解答!免费助力个人,小企站点! |
① 电话:020-2206-9892 |
② QQ咨询:1025174874 |
③ 邮件:info@361sale.com |
④ 工作时间:周一至周五,9:30-18:30,节假日休息 |
暂无评论内容