背景
系统:centos 7.6
php版本:PHP 7.3.25
最近使用的主题有一次大的更新,因此需要全部替换主题文件。在替换完成后,访问文章页面确出现了您的站点遇到了致命错误
的提示。
分析
对于这种完全没有任何有用信息的提示,肯定是无法分析的。
首先,开启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
喜欢就支持以下吧