使用mac的brew安装软件,有时会出现安装失败,或显示安装成功,但不能正常使用的情况。
例如安装php56-redis扩展,显示安装成功,重启后查看phpinfo看不到redis扩展信息。
命令行执行php有以下错误
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/opt/php56-redis/redis.so' - dlopen(/usr/local/opt/php56-redis/redis.so, 9): Symbol not found: _basic_globals
Referenced from: /usr/local/opt/php56-redis/redis.so
Expected in: flat namespace
in /usr/local/opt/php56-redis/redis.so in Unknown on line 0
Warning: PHP Startup: Unable to load dynamic library '/usr/local/opt/php56-redis/redis.so' - dlopen(/usr/local/opt/php56-redis/redis.so, 9): Symbol not found: _basic_globals
Referenced from: /usr/local/opt/php56-redis/redis.so
Expected in: flat namespace
in /usr/local/opt/php56-redis/redis.so in Unknown on line 0
估计是php编译的版本不兼容导致
解决方法:在安装命令中加入参数
--build-from-source
这个参数表示从源开始编译,默认会采用bottle方式安装,bottle方式就是安装已编译好的二进制包
brew install php56-redis --build-from-source
其他软件,例如nginx安装出现问题,都可以使用此方法解决。
brew install nginx --build-from-source
本文介绍了使用Mac的brew安装软件时遇到的问题及解决方案,特别是针对php56-redis扩展安装失败的情况,通过加入--build-from-source参数从源码编译解决问题,并提到此方法同样适用于nginx等其他软件。
1010

被折叠的 条评论
为什么被折叠?



