Maison >développement back-end >tutoriel php >linux - centos7下php7的mbstring扩展无法正常加载,该如何解决?--已解决,
1,问题:php的mbstring扩展无法被正常加载。
2,环境:centos7.2虚拟机,PHP Version => 7.0.8
我的php是通过yum 安装的,安装源用的是webstatic的,mbstring扩展也是采用的这个源,版本也对。
查看/etc/php.d/mbstring.ini中扩展是开启的,/lib64/php/modules/mbstring.so也是存在的。
但调用mb_strlen()函数时报错:
3,代码和错误
<code> 1 <?php 2 $len = mb_strlen('hello world'); </code></code>
<code>PHP Fatal error: Uncaught Error: Call to undefined function mb_strlen() in /var/www/php-test/mb-encoding/mb-strlen.php:2 349 Stack trace: 350 #0 {main} 351 thrown in /var/www/php-test/mb-encoding/mb-strlen.php on line 2 </code>
4,补充:
php -m中是有的
<code>> php -m | grep mbstring mbstring</code>
但php -info中没有
5,已解决:
之前有人问过这个问题:https://segmentfault.com/q/10...
1,问题:php的mbstring扩展无法被正常加载。
2,环境:centos7.2虚拟机,PHP Version => 7.0.8
我的php是通过yum 安装的,安装源用的是webstatic的,mbstring扩展也是采用的这个源,版本也对。
查看/etc/php.d/mbstring.ini中扩展是开启的,/lib64/php/modules/mbstring.so也是存在的。
但调用mb_strlen()函数时报错:
3,代码和错误
<code> 1 <?php 2 $len = mb_strlen('hello world'); </code></code>
<code>PHP Fatal error: Uncaught Error: Call to undefined function mb_strlen() in /var/www/php-test/mb-encoding/mb-strlen.php:2 349 Stack trace: 350 #0 {main} 351 thrown in /var/www/php-test/mb-encoding/mb-strlen.php on line 2 </code>
4,补充:
php -m中是有的
<code>> php -m | grep mbstring mbstring</code>
但php -info中没有
5,已解决:
之前有人问过这个问题:https://segmentfault.com/q/10...
<code>php -m | grep mbstring</code>
这个在就在,不在就不在了
不在的话要重新下载mbstring源码,编译安装
上面是题主修改之前的答案。。
ini里面没有加载扩展, php -m 里面会有?
php-cli和php-cgi是同一个版本的php?
不会是本机有两个版本的php..
之前有人问过这个问题,可以参考这个提问,https://segmentfault.com/q/10...。
主要原因是安装扩展后,php-fpm(FastCGI Process Manager:FastCGI进程管理器)没有重启,导致cgi和cli加载的php配置文件不一致。