Il semble donc que le nouveau 'verrouillage de l’intégrité du système' lockdown de/usr (entre autres répertoires) fasse de pear and pecl un non-démarreur. Quelqu'un a-t-il trouvé une solution de rechange à moins de le désactiver?
Il existe un moyen beaucoup plus simple - pas besoin de désactiver SIP ou de télécharger votre propre copie:
Sudo php /usr/lib/php/install-pear-nozlib.phar -d /usr/local/lib/php -b /usr/local/bin
Vous ne devriez pas installer les fichiers binaires dans le système /usr
, utilisez plutôt /usr/local
.
Les commandes pecl
et pear
devraient accompagner PHP lors de l'installation via Homebrew .
Voici l'exemple d'installation de PHP avec le dernier Homebrew:
brew install php
ou la version spécifique:
brew install [email protected]
brew install [email protected]
Pour trouver vos commandes pecl
et pear
, exécutez:
find -L "$(brew --prefix php)" -name pecl -o -name pear
ou:
find -L "$(brew --prefix [email protected])" -name pecl -o -name pear
Si vous ne le possédez pas, envisagez de désinstaller la version précédente de PHP ou exécutez plutôt reinstall
.
Vous pouvez également essayer de le relier en:
brew unlink [email protected] && brew link [email protected] --dry-run && brew link --overwrite --force [email protected]
Sinon , liez-le manuellement:
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
Vous pouvez aussi télécharger directement Pear it sous forme de paquet Phar:
curl -o /usr/local/bin/pear http://pear.php.net/go-pear.phar
chmod +x /usr/local/bin/pear
ou avec ce one-liner suivant (fonctionnera sous Linux, mais pas sous Unix):
install -v -m755 <(curl -sL http://pear.php.net/go-pear.phar) /usr/local/bin/pear
Sur Mohave, je devais exécuter les commandes suivantes - merci d'aller à 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
Ajouter le suffixe --with-pear
pour installer pear et pecl
Voir exemple ci-dessous
brew install php --with-pear
brew reinstall php --with-pear
Lorsque le brassage est utilisé et non lié, utilisez:
brew install [email protected]
brew unlink [email protected]
$(brew --prefix [email protected])/bin/pecl
$(brew --prefix [email protected])/bin/pear
Configuration High Sierra:
Il est préinstallé PEAR PACKAGE dans
/usr/local/opt/php@<your_version>/bin
à partir de là, vous pouvez courir
pecl install xdebug
et vous devriez avoir travaillé PHP binaire avec Xdebug.
Pour macOS Mojave 10.14.4, utilisez simplement/local au lieu de/usr lorsque vous êtes invité à indiquer l'emplacement "Base d'installation ($ prefix)".
Cela fonctionnait pour moi à partir de MacOS Sierra 10.12.1 pour mettre à jour PHP, installer PEAR et 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
Voici un lien vers un article de Macworld qui explique comment activer et désactiver la "Protection de l'intégrité du système".