php-在OS X 10.11 El Capitan,macOS 10.12 Sierra,macOS 10.13 High Sierra(<10.13.3)上安装pecl和pear

因此,看起来/ usr(以及其他目录)的新“系统完整性保护”锁定使pear和pecl成为了无法启动的启动器。 有没有人找到禁用它的解决方法?

axlotl asked 2020-02-14T05:51:55Z
10个解决方案
66 votes

有一种更简单的方法-无需禁用SIP或下载自己的副本:

sudo php /usr/lib/php/install-pear-nozlib.phar -d /usr/local/lib/php -b /usr/local/bin
Paul Schreiber answered 2020-02-14T05:57:55Z
57 votes

您不应该将二进制文件安装到系统reinstall中,而应使用pear


通过Homebrew安装时,PHP应随附reinstallpear命令。

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

brew install php

或特定版本:

brew install php@7.1
brew install php@5.6

要查找reinstallpear命令,请运行:

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

或者直接将其作为Phar软件包下载Pear:

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
kenorb answered 2020-02-14T05:58:59Z
36 votes

通过此链接:[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的软件包存储库,可以轻松下载和   安装诸如PHPUnit和XDebug之类的PHP工具。 我特别推荐   每个PHP开发人员都有这两个。

下载梨

pear version

配置并安装PEAR

现在,您将在提示符下配置PEAR。

  1. 键入1,然后按回车键。
  2. 输入:

    pear version
    
  3. 输入4,然后按回车键。

  4. 输入:

    pear version
    
  5. 按回车

验证梨。

您应该可以输入:

pear version

最终,如果您使用PEAR的任何扩展程序或应用程序,   可能需要更新PHP的包含路径。

Sergii Smirnov answered 2020-02-14T06:00:35Z
5 votes

在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
Daniel Flippance answered 2020-02-14T06:00:56Z
2 votes

添加后缀--with-pear以安装pear和pecl
见下面的例子

brew install php --with-pear
brew reinstall php --with-pear
user3890355 answered 2020-02-14T06:01:21Z
0 votes

从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
davidcondrey answered 2020-02-14T06:01:43Z
0 votes

高Sierra设置:

  • 安装Brew
  • 用Brew安装PHP

预先安装了PEAR PACKAGE

/usr/local/opt/php@<your_version>/bin

从那里你可以跑

pecl install xdebug

并且您应该使用Xdebug使用PHP二进制文件。

xrep answered 2020-02-14T06:02:25Z
0 votes

当使用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
Mike answered 2020-02-14T06:02:46Z
-1 votes

这是Macworld文章的链接,该文章描述了如何启用和禁用“系统完整性保护”。

[http://www.macworld.com/article/2986118/security/how-to-modify-system-integrity-protection-in-el-capitan.html]

RichardD answered 2020-02-14T06:05:54Z
-1 votes

对于macOS Mojave 10.14.4,在询问“安装基础($ prefix)”位置时,只需使用/ local而不是/ usr。

Yasir answered 2020-02-14T06:06:14Z
translate from https://stackoverflow.com:/questions/32893056/installing-pecl-and-pear-on-os-x-10-11-el-capitan-macos-10-12-sierra-macos-10