在 OS X 10.11 El Capitan、macOS 10.12 Sierra、macOS 10.13 High Sierra (< 10.13.3) 上安装 pecl 和 pear
Posted
技术标签:
【中文标题】在 OS X 10.11 El Capitan、macOS 10.12 Sierra、macOS 10.13 High Sierra (< 10.13.3) 上安装 pecl 和 pear【英文标题】:Installing pecl and pear on OS X 10.11 El Capitan, macOS 10.12 Sierra, macOS 10.13 High Sierra (< 10.13.3) 【发布时间】:2015-12-29 19:56:33 【问题描述】:所以看起来 /usr(以及其他目录)的新“系统完整性保护”lockdown 使 pear 和 pecl 无法启动。有没有人找到没有禁用它的解决方法?
【问题讨论】:
最后,我禁用它,做我需要做的,然后重新启用它。 如何禁用和重新启用它? 这里是 Macworld 文章的链接,该文章描述了如何启用和禁用“系统完整性保护”。 macworld.com/article/2986118/security/… 【参考方案1】:有一种更简单的方法——无需禁用 SIP 或下载您自己的副本:
sudo php /usr/lib/php/install-pear-nozlib.phar -d /usr/local/lib/php -b /usr/local/bin
【讨论】:
花了一段时间才接受,因为在我安装 Sierra 并(再次)破坏了我的整个 LAMP 堆栈之前,我不再需要它了。 这很好用!但是当我尝试使用sudo pecl install
安装扩展时,我得到:ERROR: failed to write /usr/lib/php/extensions/...
我该如何解决这个问题?
约翰:试试这个***.com/questions/26584599/…
这不适用于 macOS High Sierra 版本 10.13.3 Could not open input file: /usr/lib/php/install-pear-nozlib.phar
也不适用于 Mohave:Could not open input file: /usr/lib/php/install-pear-nozlib.phar
【参考方案2】:
您不应该将二进制文件安装到系统/usr
,而是使用/usr/local
。
当通过Homebrew 安装时,pecl
和 pear
命令应与 PHP 一起提供。
这是使用最新 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
Otherwise,手动链接:
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
【讨论】:
@GregoryBell 谢谢你的好收获。使用--with-pear
安装 PHP 应该正确安装 pear(在 /usr/local/opt/php56/bin/pear
中)。然后brew link php56
将其二进制链接到/usr/local/bin/pear
。
我必须使用 brew unlink php56 && brew link php56 --dry-run && brew link --overwrite php@5.6 --force
才能让它工作,我安装了一个较旧的 php 5.5,但存在一些冲突。【参考方案3】:
从此链接:http://jason.pureconcepts.net/2012/10/install-pear-pecl-mac-os-x/ 使用此说明,您无需禁用“系统完整性保护”
以下说明在 Mac OS X 下安装 PEAR 和 PECL /usr/local/。 PECL 与 PEAR 捆绑在一起。所以这很简单 在 Mac OS X 上安装 PEAR。
PEAR 是 PHP 的 Package Repository,可以轻松下载和 安装 PHPUnit 和 XDebug 等 PHP 工具。我特别推荐 这两个适用于每个 PHP 开发人员。
下载梨
curl -O https://pear.php.net/go-pear.phar sudo php -d detect_unicode=0 go-pear.phar
配置和安装 PEAR
您现在应该会看到配置 PEAR 的提示。
键入 1 并按 return。
输入:
/usr/local/pear
键入 4 并按 return。
输入:
/usr/local/bin
按返回
验证 PEAR。
你应该可以输入:
pear version
最终,如果您使用 PEAR 的任何扩展程序或应用程序,您 可能需要更新 PHP 的包含路径。
【讨论】:
【参考方案4】:在 Mohave 上,我必须运行以下命令 - 感谢 https://tobschall.de/2018/08/07/pear-on-mojave/
cd /tmp
curl -s -O https://pear.php.net/install-pear-nozlib.phar
sudo php install-pear-nozlib.phar -d /usr/local/lib/php -b /usr/local/bin
【讨论】:
【参考方案5】:High Sierra 设置:
安装 Brew 用 Brew 安装 PHP里面有预装的PEAR PACKAGE
/usr/local/opt/php@<your_version>/bin
你可以从那里运行
pecl install xdebug
而且你应该有使用 Xdebug 的 PHP 二进制文件。
【讨论】:
@frumbert 我知道可能已经很晚了,但是您可以使用以下语法./pecl install xdebug
从同一文件夹启动脚本文件。我希望它可以帮助某人。【参考方案6】:
后缀--with-pear
安装pear和pecl
请参阅下面的示例
brew install php --with-pear
brew reinstall php --with-pear
【讨论】:
【参考方案7】:从 MacOS Sierra 10.12.1 开始,这对我有用,用于升级 PHP、安装 PEAR 和 V8
brew tap homebrew/dupes
brew tap homebrew/versions
brew tap homebrew/homebrew-php
phpversion="$(php -v | tail -r | tail -n 1 | cut -d " " -f 2 | cut -c 1,3)"
brew unlink php$phpversion
brew install php71
brew install autoconf
curl -O http://pear.php.net/go-pear.phar
php -d detect_unicode=0 go-pear.phar
echo -e "\nexport PATH=$HOME/pear/bin:$PATH \n"
source ~/.bash_profile
echo -e "\ninclude_path = '.:/Users/YOURUSERNAME/pear/share/pear/' \nextension=v8js.so \n" >> /usr/local/etc/php/7.1/php.ini
git clone https://github.com/phpv8/v8js ~/tmp/v8js && cd $_
./configure CXXFLAGS="-Wno-c++11-narrowing"
make
make test
make install
sudo apachectl restart
【讨论】:
【参考方案8】:当使用 brew 且未链接时,使用:
brew install php@5.6
brew unlink php@5.6
$(brew --prefix php@5.6)/bin/pecl
$(brew --prefix php@5.6)/bin/pear
【讨论】:
【参考方案9】:所以对于大苏尔来说:
brew install php
brew services start php
【讨论】:
【参考方案10】:对于 macOS Mojave 10.14.4,当询问“安装库 ($prefix)”位置时,只需使用 /local 而不是 /usr。
【讨论】:
以上是关于在 OS X 10.11 El Capitan、macOS 10.12 Sierra、macOS 10.13 High Sierra (< 10.13.3) 上安装 pecl 和 pear的主要内容,如果未能解决你的问题,请参考以下文章
OS X 10.11 El Capitan 上的蓝牙低功耗延迟/延迟
ThinkPad X220 完美黑苹果 Hackintosh OS X 10.11 El Capitan
Mac OS X El Capitan(10.11)显示隐藏文件命令失效解决方法
os x el capitan 10.11 懒人版安装镜像怎么安装
在 OS X 10.11 El Capitan、macOS 10.12 Sierra、macOS 10.13 High Sierra (< 10.13.3) 上安装 pecl 和 pear
在 Win 7或8 下使用 VirtualBOX 虚拟机安装 OS X 10.11 El Capitan 及 Xcode 7.0