mac 10.13.3 php,php-在OS X 10.11 El Capitan,macOS 10.12 Sierra,macOS 10.13 High Sierra(<10.13.3)上安装pe...

本文提供了在Mac OS X El Capitan、Sierra和High Sierra(10.13.3以下版本)上安装PECL和PEAR时,避免因系统完整性保护导致的问题。解决方案包括使用Homebrew、 Pear命令重装、绕过SIP限制等,适用于不同PHP版本和环境。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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应随附reinstall和pear命令。

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

brew install php

或特定版本:

brew install php@7.1

brew install php@5.6

要查找reinstall和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

或者直接将其作为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,然后按回车键。

输入:

pear version

输入4,然后按回车键。

输入:

pear version

按回车

验证梨。

您应该可以输入:

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@/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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值