mac使用brew安裝軟體失敗的通用解決方法
阿新 • • 發佈:2019-01-26
使用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