吐血整理:碰到 WordPress 致命错误,如何一步一步解决

2022-11-25 0 311

WordPress 采用者最郁闷的难题是公交站点CM3看不清楚了,或是前台没人管了,这是 WordPress 的致命严重错误,英语是 White Screen of Death(CM3严重错误),全称:WSoD。

吐血整理:碰到 WordPress 致命错误,如何一步一步解决

反之亦然类似于的,采用 WPJAM Basic 应用程序的采用者,问得最多的难题是:为甚么迈入 WPJAM Basic 后,xxx 主轴不容用,xxx 应用程序用没法呢?

只不过那些都原因在于兼容难题,造成了 WordPress 致命严重错误。通常我的提议是停止采用其它应用程序,换用预设主轴,看一看除了没难题,接着两个两个须建

上面他们详尽传授呵呵甚么是 WordPress 致命严重错误,他们是不是一步棋一步棋功能定位它和化解它。

甚么是 WordPress 致命严重错误

是中文网站平时出访没难题,忽然过滤成了CM3了,也可能将即使采用相同的应用程序获得相同的严重原始数据,比如说在 Chrome 应用程序下表明的 HTTP 500 严重错误:

吐血整理:碰到 WordPress 致命错误,如何一步一步解决

如果火狐应用程序,那么是白屏了,没任何有用的信息:

吐血整理:碰到 WordPress 致命错误,如何一步一步解决

如果 WordPress 迈入了致命严重错误处理,那么就会表明上面的信息:

吐血整理:碰到 WordPress 致命错误,如何一步一步解决

WordPress 的致命严重错误都是 PHP 代码严重错误引起,或是内存限制引起的,通常是一些严重错误的主轴或是插件的代码,比如说应用程序和主轴采用了相同的函数,造成冲突了。

所以 WPJAM Basic 应用程序的大部分难题是上面所说,其它应用程序或是主轴采用和 WPJAM Basic 相同的函数或是类库,造成了冲突引起的。

那么是不是化解那些难题呢?

仅仅是本站还是所有公交站点?

如果服务器安装多个 WordPress,看一看其它公交站点有没难题,如果有反之亦然的难题,可能将是服务器出难题了,联系呵呵服务商,看一看是不是线路或是服务器出难题了。

这也是我一直提议采用阿里云和腾讯云这类服务器,即使通常不会莫名出现这类难题,如果出现难题,他们也会很快修复。

如果仅仅是该公交站点的难题,那可能将是真的是这个公交站点的代码出难题了,那就针对该公交站点就行深究了。

PHP 的内存限制造成的?

很多时候出现CM3原因在于,PHP 脚本的执行需要大量的内存,而服务器的限制使得 PHP 脚本得不到满足,比如说上面的严重错误代码,这种情况有可能将是程序写了死循环了,或是真的需要那么大的内存。

Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 2348617bytes) in /www/xxx/wp-includes/plugin.phpon line xxx

他们先尝试增大呵呵 PHP 脚本的内存限制看一看能不能化解难题,在 wp-config.php 文件增加上面这行,把限制修改为 256M:

define( WP_MEMORY_LIMIT, 256M );

文件权限引起难题?

除了两个可能将引起CM3的原因可能将是文件的权限和所有者,这个处理有点麻烦,如果不是很熟悉提议找个专业的人员帮你处理呵呵。

通常来说对于 WordPress 来说,文件的权限规则是:

文件应该设置为 664 或是 644.文件夹应该设置为 775 或是 755.wp-config.php 文件应该设置为 660, 600, 或是 644.

如果你可以采用 SSH 登录你的服务器,可以在 WordPress 根目录下的执行上面这行命令一次搞定:

sudo find . –type f -exec chmod 664{} + sudofind . –type d -exec chmod 775 {} + sudo chmod 660 wp-config.php

WordPress 应用程序冲突了?

如果还不能化解难题,那么接下来,化解 WordPress 致命严重错误的方法是先停止采用所有应用程序,通常来说两个公交站点挂了很大原因是两个有难题的应用程序。

1. 如果还能出访 WordPress 管理前台,最快的方法是到前台的应用程序页,选择所有应用程序,在批量操作下拉菜单中选择停止采用。

吐血整理:碰到 WordPress 致命错误,如何一步一步解决

如果停止采用所有应用程序后可以化解难题,那么接下来他们要找出具体是哪个应用程序导致难题的,通常他们是通过两个两个激活应用程序来发现,每激活两个应用程序,在出难题的界面刷新呵呵,如果难题重现,我们就可以功能定位是哪个应用程序出的难题了。

2. 如果前台已经无法进入,那就只能通过 FTP 来处理了,进入中文网站的 wp-content 目录,接着再把 plugins 文件夹改成 plguins-old 目录。

吐血整理:碰到 WordPress 致命错误,如何一步一步解决

改名后检查呵呵中文网站是否可以出访,如果可以出访,那么接下来要两个两个检查应用程序了。把应用程序目录改回「plugins」,接着在应用程序目录中,对每个应用程序进行重命名的方法,来功能定位出难题的应用程序。

WordPress 主轴不兼容?

如果难题不是应用程序引起,很可能将是主轴引起的,所以很多采用 WPJAM Basic 难题大部分是主轴引起的,很多主轴采用的函数和 WPJAM Basic 函数冲突了。

比如说我在博客上介绍一些自己写的一些工具函数,那些函数都尽量wpjam_ 开头了,但是有些主轴没改,直接拿过去用了,WPJAM Basic 应用程序里面也有,那么就冲突了。

1. 他们可以通过切换回 WordPress 预设的主轴来功能定位难题,如果还能进入前台,那么进入「外观」-「主轴」,选择两个预设的 WordPress 主轴,比如说最新的 2021:

吐血整理:碰到 WordPress 致命错误,如何一步一步解决

接着在出难题的界面刷新呵呵,如果难题重现,那是主轴的难题。

2. 如果无法进入前台,处理方法和上一节处理应用程序一样的,采用 FTP 工具进入wp-content 目录,重命名呵呵 themes 文件夹。

这样 WordPress 会自动采用最新的预设主轴,比如说现在是 2021。最后测试,如果难题重现是应用程序的难题了,如果确定是,可以考虑换个主轴。

应用程序和 WordPress 的缓存有难题?

应用程序的缓存和应用程序的缓存也可能将引起致命的严重错误,提议先清理掉。

如果你安装了缓存应用程序,比如说 WP Rocket 或是 WP Super Cache,最快删除缓存的办法,通过应用程序的设置页面。

比如说 WP Super Cache,在「设置」-「WP Super Cache」-「删除缓存」即可清理掉缓存。

如果无法进入 FTP,那么缓存的文件在wp-content/caches 目录下,可以进入进行删除操作。

放大招:迈入 WordPress Debug 模式

如果还不能化解难题,那就用最后的大招了,直接功能定位严重错误的 log,他们是忽略前面的方法直接用这个来化解的。

对于程序员来说,出现难题最重要的是知道是甚么难题,难题的细节,具体的严重错误 log,这样就要迈入 WordPress Debug 模式。

WordPress 提供了WP_DEBUGWP_DEBUG_DISPLAYWP_DEBUG_LOG 这三个常量让你应对各种情况,上面讲经常经常采用到的方法:

1. 如果是前台和前台空白,并且没表明任何严重错误

打开 wp-config.php 文件,将原来的 WP_Debug 设置改成如下设置:

define(WP_DEBUG, true); define(WP_DEBUG_DISPLAY, true);

这样就可以直接看到错误的信息:

Cannot redeclare get_posts() (previously declared in /var/www/html/wordpress/wp-includes/post.php:1874) in /var/www/html/wordpress/wp-content/plugins/test-plugin/test-plugin.php on line 38

比如说上面的严重原始数据是在 test-plugin 应用程序定义了 get_post 函数,这个函数 WP 内置了,函数名冲突了。

2. 严重错误是发生在某些前台进程 log 保存到 debug 文件。

打开 wp-config.php 文件,将原来的 WP_Debug 设置改成如下设置:

define(WP_DEBUG, true); define(WP_DEBUG_DISPLAY, false); define(WP_DEBUG_LOG, true);

接着就可以在 wp-content/debug.log 文件中看到相应的严重原始数据了。

最后一定要记得,测试完了一定要改回去,是:

define(WP_DEBUG, false);

不然,你的采用者也会看到你的系统严重错误了,或是 wp-content/debug.log 很大,把你服务器的空间都用完。

附加技巧:增强 PHP 文本处理能力

如果还没化解你的致命严重错误,并且严重错误是发生在文章编辑页,并且很小的概率原因在于文章太长造成的。

如果是这种情况,他们可以尝试呵呵增加回溯和递归限制来增强 PHP 文本处理能力,在 wp-config.php 文件添加上面的代码:

/* 针对超长文章的技巧 */ ini_set(pcre.recursion_limit,20000000); ini_set(pcre.backtrack_limit,10000000);

总结:耐心处理和提供 log

WordPress 出现了致命严重错误并不容怕,按照这篇文章提示的方法一步棋一步棋重新整理,总能化解难题的,所以也欢迎收藏本文,方便以后遇到难题方便处理。

反之亦然使用 WPJAM Basic 出现难题后,也不要惊慌失措,也不要直接来说出难题了,接着没任何细节,这样谁也帮没法你,毕竟程序员也是凡人,不是神。

通常提议按照这里的方法先自己化解一遍,最后不行,只要给到相关的严重错误的 log(特别关注呵呵前面关于怎样生成 log 的部分),他们都是可以帮忙功能定位到难题,接着化解的。

如果你采用的主机造成的难题,提议切换到阿里云和腾讯云,还是推荐采用我的链接,给我赚点佣金,才有更大动力写教程。

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务