web-dev-qa-db-ja.com

OS X 10.11 El Capitan、macOS 10.12 Sierra、macOS 10.13 High Sierra(<10.13.3)へのpeclおよびpearのインストール

そのため、新しい「システム整合性保護」 lockdown /usr(他のディレクトリの中で)がpearとpeclを非スターターにしています。無効にする以外の回避策を誰かが見つけましたか?

48
axlotl

はるかに簡単な方法があります。SIPを無効にする必要も、独自のコピーをダウンロードする必要もありません。

Sudo php /usr/lib/php/install-pear-nozlib.phar -d /usr/local/lib/php -b /usr/local/bin
66
Paul Schreiber

バイナリをシステム/usrにインストールするのではなく、代わりに/usr/localを使用してください。


Homebrew を介してインストールする場合、peclおよびpearコマンドはPHPとともに使用する必要があります。

最新のHomebrewでPHPをインストールする例を次に示します。

brew install php

または特定のバージョン:

brew install [email protected]
brew install [email protected]

peclおよびpearコマンドを見つけるには、次を実行します。

find -L "$(brew --prefix php)" -name pecl -o -name pear

または:

find -L "$(brew --prefix [email protected])" -name pecl -o -name pear

お持ちでない場合は、以前のPHPバージョンをアンインストールするか、代わりにreinstallを実行することを検討してください。

次の方法で再リンクを試みることもできます。

brew unlink [email protected] && brew link [email protected] --dry-run && brew link --overwrite --force [email protected]

それ以外 、手動でリンクします:

ln -vs "$(find -L "$(brew --prefix [email protected])/bin" -name pecl)" /usr/local/bin
ln -vs "$(find -L "$(brew --prefix [email protected])/bin" -name pear)" /usr/local/bin

または、PharパッケージとしてP​​earを直接ダウンロードします。

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
57
kenorb

このリンクから: http://jason.pureconcepts.net/2012/10/install-pear-pecl-mac-os-x/ この手順では、「システム」を無効にする必要はありません。完全性保護 '

次の手順では、PEARおよびPECLをMac OS Xの/ usr/local /の下にインストールします。 PECLはPEARにバンドルされています。したがって、これはMac OS XにPEARをインストールするのと同じくらい簡単です。

PEARはPHPのパッケージリポジトリであり、PHPUnitやXDebugなどのPHPツールを簡単にダウンロードしてインストールできます。 PHP開発者ごとにこれら2つを特にお勧めします。

PEARをダウンロード

curl -O https://pear.php.net/go-pear.phar
Sudo php -d detect_unicode=0 go-pear.phar

PEARの構成とインストール

これで、PEARを構成するプロンプトが表示されます。

  1. タイプ 1 を押す return
  2. 入る:

    /usr/local/pear
    
  3. タイプ 4 を押す return

  4. 入る:

    /usr/local/bin
    
  5. 押す return

PEARを検証します。

次のように入力できるはずです。

pear version

最終的に、PEARの拡張機能またはアプリケーションを使用する場合は、PHPのインクルードパスを更新する必要があります。

35
Sergii Smirnov

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

接尾辞--with-pearを追加して、pearとpeclをインストールします
以下の例を参照してください

brew install php --with-pear
brew reinstall php --with-pear
2
user3890355

Brewが使用され、リンクされていない場合は、次を使用します。

brew install [email protected]
brew unlink [email protected]

$(brew --prefix [email protected])/bin/pecl
$(brew --prefix [email protected])/bin/pear
0
Mike

High Sierraセットアップ:

  • brewをインストールする
  • brewを使用してPHPをインストールします

にプリインストールされたPEAR PACKAGEがあります

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

そこから実行できます

pecl install xdebug

また、XdebugでPHPバイナリを使用する必要があります。

0
xrep

MacOS Mojave 10.14.4の場合、「インストールベース($ prefix)」の場所を尋ねられたときに、/ usrの代わりに/ localを使用します。

0
Yasir

これは、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
0
davidcondrey

「システム整合性保護」を有効または無効にする方法を説明したMacworldの記事へのリンクを次に示します。

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

0
RichardD