zl程序教程

您现在的位置是:首页 >  系统

当前栏目

PHP在Linux系统下安装mbstring扩展

2023-09-11 14:20:01 时间

今天遇到了一个很坑的问题,提示如下

Call to undefined function mb_detect_encoding()

上网查了很多资料都说安装mbstring的扩展,然而并没有成功,一直提示各种奇怪的错误,套娃错误。。。

想了很久最终发现我的PHP安装包下虽然有mbstring的目录,但是里面的文件不全,猜测是这个原因导致的,所以换了个思路,下载一个版本一致的php安装包,重新安装一遍mbstring,说干就干,最终成功,把这个采坑过程整理如下:

  1. 下载对应PHP版本的镜像,我下载的是5.6.11,在Linux下执行:
wget http://mirrors.sohu.com/php/php-5.6.11.tar.gz 
  1. 下载好之后解压:
tar zxvf php-5.6.11.tar.gz
  1. 切换到安装包的mbstring目录下
cd php-5.6.11/ext/mbstring/
  1. 在上述目录下执行phpize:(注意,phpize和php-config和上述目录不一定一致,不一致可以使用whereis xxx查找到对应的目录)
/usr/bin/phpize
  1. 执行配置:(注意,phpize和php-config和上述目录不一定一致,不一致可以使用whereis xxx查找到对应的目录)
./configure --with-php-config=/usr/bin/php-config
  1. 安装:
make && make install
  1. 把so添加到php.ini中
将这段配置extension=mbstring.so  添加到php.ini   (查找php.ini的方法用  whereis php.ini)
  1. 重启Nginx
service nginx restart
  1. 重启PHP
service php-fpm restart
  1. 安装完毕,检查mbstring扩展是否安装成功,在项目根目录下新建一个文件,输出phpinfo
echo phpinfo();

搜索到了,安装成功!
在这里插入图片描述