1. 程式人生 > >mac使用brew安裝軟體失敗的通用解決方法

mac使用brew安裝軟體失敗的通用解決方法

使用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