wordpress 致命错误 Fatal error: Uncaught Error: Call to undefined function mb_convert_encoding()

背景

系统:centos 7.6
php版本:PHP 7.3.25

20201231172610.jpg

最近使用的主题有一次大的更新,因此需要全部替换主题文件。在替换完成后,访问文章页面确出现了您的站点遇到了致命错误的提示。

分析

对于这种完全没有任何有用信息的提示,肯定是无法分析的。
首先,开启wordpress的调试模式。
在wordpress的安装根目录下,找到文件wp-config.php,定位到WP_DEBUG,一般情况下,该值为false,将其修改为true,再次访问出错页面,就可以得到详细的错误信息了。

得到打印信息如下,私密信息已经经过处理。

Fatal error: Uncaught Error: Call to undefined function mb_convert_encoding() in /wwwroot/example.com/wp-content/themes/example/inc/functions/zib-theme.php:737 Stack trace: #0 /wwwroot/example.com/wp-content/themes/example/inc/functions/zib-theme.php(782): zib_str_cut('\xE5\xBE\x88\xE9\x95\xBF\xE4\xB8\x80\xE6\xAE\xB5\xE6\x97\xB6...', 0, 210, '...') #1 /wwwroot/example.com/wp-content/themes/example/inc/functions/zib-head.php(350): zib_get_excerpt(210, '...') #2 /wwwroot/example.com/wp-content/themes/example/inc/functions/zib-head.php(52): zib_description() #3 /wwwroot/example.com/wp-includes/class-wp-hook.php(288): zib_seo('') #4 /wwwroot/example.com/wp-includes/class-wp-hook.php(312): WP_Hook->apply_filters(NULL, Array) #5 /wwwroot/example.com/wp-includes/plugin.php(478): WP_Hook->do_action(Array) #6 /wwwroot/example.com/wp-includes/general-template.php(2879): do_action('wp_head') #7 /wwwroot/example.com/wp-content/themes/example/header.php(10): wp_head() #8 /wwwroot/example.com/wp-includes/template.php(722): require_once('/wwwroot/example....') #9 /www in /wwwroot/example.com/wp-content/themes/example/inc/functions/zib-theme.php on line 737

当前最突出的错误就是下面的提示了:

Fatal error: Uncaught Error: Call to undefined function mb_convert_encoding()

也就是说当前系统中的php不支持函数mb_convert_encoding(),而根据网络信息,该函数应该是由php扩展php_mbstring提供。

解决

知道了可能的原因,那么就直接安装该php扩展。

yum -y install php-mbstring

我到这一步,再次刷新页面就已经可以成功访问了。

如果仍然不行,可以在php.ini文件中添加

extension=mbstring.so

然后再重启php服务

systemctl restart php-fpm
© 版权声明
THE END
喜欢就支持以下吧
点赞0
评论 抢沙发