centos7下php7的mbstring扩展无法正常加载,该如何解决?--已解决,

yangtoude
  • 326

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,代码和错误

      1 <?php
      2 $len =  mb_strlen('hello world');
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

4,补充:
php -m中是有的

> php -m | grep mbstring
mbstring

但php -info中没有
5,已解决:
之前有人问过这个问题:https://segmentfault.com/q/10...

回复
阅读 7.8k
2 个回答
✓ 已被采纳
php -m | grep mbstring

这个在就在,不在就不在了
不在的话要重新下载mbstring源码,编译安装

上面是题主修改之前的答案。。

ini里面没有加载扩展, php -m 里面会有?
php-cli和php-cgi是同一个版本的php?
不会是本机有两个版本的php..

之前有人问过这个问题,可以参考这个提问,https://segmentfault.com/q/10...
主要原因是安装扩展后,php-fpm(FastCGI Process Manager:FastCGI进程管理器)没有重启,导致cgi和cli加载的php配置文件不一致。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏