そのため、新しい「システム整合性保護」 lockdown /usr(他のディレクトリの中で)がpearとpeclを非スターターにしています。無効にする以外の回避策を誰かが見つけましたか?
はるかに簡単な方法があります。SIPを無効にする必要も、独自のコピーをダウンロードする必要もありません。
Sudo php /usr/lib/php/install-pear-nozlib.phar -d /usr/local/lib/php -b /usr/local/bin
バイナリをシステム/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パッケージとして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
このリンクから: 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 を押す return。
入る:
/usr/local/pear
タイプ 4 を押す return。
入る:
/usr/local/bin
押す return
PEARを検証します。
次のように入力できるはずです。
pear version
最終的に、PEARの拡張機能またはアプリケーションを使用する場合は、PHPのインクルードパスを更新する必要があります。
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
接尾辞--with-pear
を追加して、pearとpeclをインストールします
以下の例を参照してください
brew install php --with-pear
brew reinstall php --with-pear
Brewが使用され、リンクされていない場合は、次を使用します。
brew install [email protected]
brew unlink [email protected]
$(brew --prefix [email protected])/bin/pecl
$(brew --prefix [email protected])/bin/pear
High Sierraセットアップ:
にプリインストールされたPEAR PACKAGEがあります
/usr/local/opt/php@<your_version>/bin
そこから実行できます
pecl install xdebug
また、XdebugでPHPバイナリを使用する必要があります。
MacOS Mojave 10.14.4の場合、「インストールベース($ prefix)」の場所を尋ねられたときに、/ usrの代わりに/ localを使用します。
これは、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
「システム整合性保護」を有効または無効にする方法を説明したMacworldの記事へのリンクを次に示します。