> 网上有文章写到,可以使用brew安装php扩展。亲测之后,此方法失败。如:
> brew install php70-redis
>
## 推荐使用pecl安装php扩展
### 一、把pecl命令和phpize命令添加到环境变量中
pecl所在路径如下:
```
/usr/local/Cellar/php@7.0/7.0.29/bin
mayan@bogon:/usr/local/Cellar/php@7.0/7.0.29/bin|
⇒ ll
total 71256
drwxr-xr-x 12 mayan admin 384 4 8 11:41 ./
drwxr-xr-x 15 mayan admin 480 4 8 11:41 ../
-r-xr-xr-x 1 mayan admin 936 4 8 11:41 pear*
-r-xr-xr-x 1 mayan admin 957 4 8 11:41 peardev*
-r-xr-xr-x 1 mayan admin 873 4 8 11:41 pecl*
lrwxr-xr-x 1 mayan admin 9 3 27 22:26 phar@ -> phar.phar
-r-xr-xr-x 1 mayan admin 14851 4 8 11:41 phar.phar*
-r-xr-xr-x 1 mayan admin 12118352 4 8 11:41 php*
-r-xr-xr-x 1 mayan admin 12063288 4 8 11:41 php-cgi*
-r-xr-xr-x 1 mayan admin 4862 4 8 11:41 php-config*
-r-xr-xr-x 1 mayan admin 12250132 4 8 11:41 phpdbg*
-r-xr-xr-x 1 mayan admin 4610 4 8 11:41 phpize*
```
建立软连接 ln -s 存放着 当前用户下 公共的bin目录中,我这里存放在了composer的bin目录,如下
```
mayan@bogon:~|⇒ ll .composer/vendor/bin
total 0
drwxr-xr-x 6 mayan staff 192 4 8 15:43 ./
drwxr-xr-x 9 mayan staff 288 4 7 21:00 ../
lrwxr-xr-x 1 mayan staff 26 4 7 21:30 composer@ -> /Users/mayan/composer.phar
lrwxr-xr-x 1 mayan staff 32 4 7 21:00 lumen@ -> ../laravel/lumen-installer/lumen
lrwxr-xr-x 1 mayan staff 41 4 8 15:42 pecl@ -> /usr/local/Cellar/php@7.0/7.0.29/bin/pecl
lrwxr-xr-x 1 mayan staff 43 4 8 15:43 phpize@ -> /usr/local/Cellar/php@7.0/7.0.29/bin/phpize
```
编辑当前用户的环境变量文件`~/.bash_profile`
```
export PATH="/Users/mayan/.composer/vendor/bin/:$PATH"
```
保存退出,并执行下面的命令
```
source ~/.bash_profile
```
## 二、可能提示的错误
```
Configuring for:
PHP Api Version: 20041225
Zend Module Api No: 20060613
Zend Extension Api No: 220060519
Cannot find autoconf. Please check your autoconf installation and the
$PHP_AUTOCONF environment variable. Then, rerun this script.
```
通过brew安装autoconf组件即可
```
brew install autoconf
```
## 三、通过pecl命令安装php扩展
```
sudo pecl install redis
```
此方法安装,已经自动配置了php.ini
添加 extension=扩展名称
## 四、题外话,让~/.bash_profile保持长久有效
自己在 ~/.bash_profile 中配置环境变量, 可是每次重启终端后配置的不生效.需要重新执行 :
```
$source ~/.bash_profile
```
发现zsh加载的是 ~/.zshrc文件,而 ‘.zshrc’ 文件中并没有定义任务环境变量。
解决办法
在~/.zshrc文件最后,增加一行:
```
source ~/.bash_profile
```