在 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 安装时,peclpear 命令应与 PHP 一起提供。

这是使用最新 Homebrew 安装 PHP 的示例:

brew install php

或具体版本:

brew install php@7.1
brew install php@5.6

要查找您的 peclpear 命令,请运行:

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 &amp;&amp; brew link php56 --dry-run &amp;&amp; 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