在 OS X 10.11 El Capitan、macOS 10.12 Sierra、macOS 10.13 High Sierra (< 10.13.3) 上安装 pecl 和 pear
因此,看起来/usr(以及其他目录)的新“系统完整性保护”锁定使pear和pecl成为非启动器。有没有人找到一个解决方法,而不是禁用它?
因此,看起来/usr(以及其他目录)的新“系统完整性保护”锁定使pear和pecl成为非启动器。有没有人找到一个解决方法,而不是禁用它?
有一种更简单的方法 - 无需禁用SIP或下载自己的副本:
sudo php /usr/lib/php/install-pear-nozlib.phar -d /usr/local/lib/php -b /usr/local/bin
您不应将二进制文件安装到系统 ,而是使用。/usr
/usr/local
通过 Homebrew 安装时,和 命令应随 PHP 一起提供。pecl
pear
以下是使用最新的 Homebrew 安装 PHP 的示例:
brew install php
或特定版本:
brew install php@7.1
brew install php@5.6
要查找您的 命令,请运行:pecl
pear
find -L "$(brew --prefix php)" -name pecl -o -name pear
艺术
find -L "$(brew --prefix php@7.1)" -name pecl -o -name pear
如果没有,请考虑卸载以前的 PHP 版本或改为运行。reinstall
您也可以尝试通过以下方式重新链接它:
brew unlink php@7.1 && brew link php@7.1 --dry-run && brew link --overwrite --force php@7.1
否则,请手动链接它:
ln -vs "$(find -L "$(brew --prefix php@7.1)/bin" -name pecl)" /usr/local/bin
ln -vs "$(find -L "$(brew --prefix php@7.1)/bin" -name pear)" /usr/local/bin
或者直接将Pear作为Phar软件包下载:
curl -o /usr/local/bin/pear http://pear.php.net/go-pear.phar
chmod +x /usr/local/bin/pear
或者使用以下单行代码(将在Linux上运行,但不适用于Unix):
curl -sL http://pear.php.net/go-pear.phar | sudo install -v -m755 /dev/stdin /usr/local/bin/pear