记一次.so文件的安装吧

从Yii2的框架里面捣鼓出了一份直接操作Redis的PHP类。在用的时候,遇到报错:

Call to undefined function mb_strlen()

啊…看样子又是少扩展。

php -m > test
php -v > test

看了一下,果然没有mbstring扩展,毕竟这个不是默认扩展。

简单的查了一下解决方案,大部分都说可以重新编译php,在./configure的时候加上参数就可以了。Actually, 毕竟非科班野生的菜,这几天又有一些重要且紧急的事情,要是某些别的地方搞挂了,忘记了,启动不起来了,就又要加班加点的解决了。权衡了一下,决定另寻出路。

参考了一下stackoverflow的帖子,才才才知道Mac下还有Ports这样的不明觉厉的安装方式,遂搞起。

MacPorts官网下载页上简单粗暴的下载dmg文件

然后依次

cp /opt/local/bin/port /usr/local/bin/port
port upgrade outdated
port -v selfupdate
port search mbstring
port install php56-mbstring
find / -name mbstring.so
cp /opt/local/lib/php56/extensions/no-debug-non-zts-20131226/mbstring.so /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/mbstring.so

编辑一下php.ini,开启一下extension就没报错了。

参考

  1. http://stackoverflow.com/questions/4787403/missing-mbstring-php-extension-when-installing-phpmyadmin-on-mac

  2. http://www.ccvita.com/434.html

  3. http://www.macports.org/install.php

    原文作者:niceforbear
    原文地址: https://segmentfault.com/a/1190000004535024
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞