web-dev-qa-db-fra.com

Installation de pecl et pear sur OS X 10.11 El Capitan, macOS 10.12 Sierra, macOS 10.13 High Sierra

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? 

45
axlotl

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
66
Paul Schreiber

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

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
4
Daniel Flippance

Ajouter le suffixe --with-pear pour installer pear et pecl
Voir exemple ci-dessous

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

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
0
Mike

Configuration High Sierra:

  • installer Brew
  • installer PHP avec Brew

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.

0
xrep

Pour macOS Mojave 10.14.4, utilisez simplement/local au lieu de/usr lorsque vous êtes invité à indiquer l'emplacement "Base d'installation ($ prefix)".

0
Yasir

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
0
davidcondrey

Voici un lien vers un article de Macworld qui explique comment activer et désactiver la "Protection de l'intégrité du système".

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

0
RichardD