环境确认
如果你的php是通过brew安装的,一般情况下是带了pecl的。
$ pecl version
PEAR Version: 1.10.13
PHP Version: 7.4.28
Zend Engine Version: 3.4.0
如果没有,可以通过以下脚本安装。
安装脚本
$ curl -O https://pear.php.net/go-pear.phar
$ sudo php -d detect_unicode=0 go-pear.phar
pecl配置
查看pecl的相关配置
$ pecl config-show
这里可以看到pecl的默认扩展目录
PEAR executables directory bin_dir /opt/homebrew/lib/php/pecl/bin
PEAR documentation directory doc_dir /opt/homebrew/share/[email protected]/doc
PHP extension directory ext_dir /opt/homebrew/Cellar/[email protected]/7.4.28_1/lib/php/20190902
PEAR directory php_dir /opt/homebrew/share/[email protected]
PEAR Installer cache directory cache_dir /private/tmp/pear/cache
PEAR configuration file cfg_dir /opt/homebrew/lib/php/pecl/cfg
到扩展目录看以下
/opt/homebrew/Cellar/[email protected]/7.4.28_1/ [master*] ls -all | grep pecl
lrwxr-xr-x 1 yuanjian admin 26 3 30 20:21 pecl -> /opt/homebrew/lib/php/pecl
很明显 安装扩展.so文件的目录是 /opt/homebrew/Cellar/[email protected]/7.4.28_1/pecl
,此目录实际上是软链接到了 /opt/homebrew/lib/php/pecl
。
目录配置
查看php的扩展目录
$ php -i | grep extension_dir
extension_dir => /opt/homebrew/lib/php/pecl/20190902
比如我安装了一个 xdebug.so
扩展。
直接在 /opt/homebrew/etc/php/7.4/php.ini
中添加一行 yaml.so
,会自动在 /opt/homebrew/lib/php/pecl/20190902/yaml.so
找到软连接到 /opt/homebrew/Cellar/[email protected]/7.4.28_1/pecl/20190902/yaml.so
的原始扩展。