web-dev-qa-db-fra.com

Impossible d'installer PHP 7 avec Homebrew sur macOS Sierra

J'essaie de configurer le valet de Laravel qui, en tant que dépendance, nécessite PHP 7. Lorsque j'essaie d'installer PHP 7 avec Homebrew, l'erreur suivante apparaît:

Configuring SAPI modules
checking for Apache 2.0 handler-module support via DSO through APXS... 

Sorry, I cannot run apxs.  Possible reasons follow:

1. Perl is not installed
2. apxs was not found. Try to pass the path using --with-apxs2=/path/to/apxs
3. Apache was not built using --enable-so (the apxs usage page is displayed)

The output of /usr/sbin/apxs follows:
apxs:Error: /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.12.xctoolchain/usr/local/bin/apr-1-config not found!.

configure: error: Aborting

READ THIS: https://git.io/brew-troubleshooting
If reporting this issue please do so at (not Homebrew/brew):
  https://github.com/Homebrew/homebrew-php/issues

These open issues may also help:
php70-dbase  https://github.com/Homebrew/homebrew-php/issues/3508
php70-intl not found https://github.com/Homebrew/homebrew-php/issues/3591
php70-opcache install issue https://github.com/Homebrew/homebrew-php/issues/3586
Problem installing php70-mcrypt, php70-opcache, php70-xdebug on El Capitan https://github.com/Homebrew/homebrew-php/issues/3587
Add php70-zmq formula https://github.com/Homebrew/homebrew-php/pull/3474
Problem installing homebrew/php/php70-imagick https://github.com/Homebrew/homebrew-php/issues/3571
Install PHP70: Incompatible library version https://github.com/Homebrew/homebrew-php/issues/3444
brew install php70-redis https://github.com/Homebrew/homebrew-php/issues/2762
Allow --enable-redis-igbinary for php70-redis https://github.com/Homebrew/homebrew-php/pull/3473
Add head formula for php70-uploadprogress https://github.com/Homebrew/homebrew-php/pull/3178

Ceci concerne une nouvelle installation de macOS Sierra (version actuelle, pas une version bêta) avec une nouvelle installation de Homebrew (mise à jour). J'ai installé, exécuté et accepté le contrat de licence Xcode.

Je n'ai aucune idée de ce que signifient ces erreurs ou de la façon de les réparer. Quelqu'un peut-il offrir de l'aide?

Merci.

6
Garry Pettet

Bon je l'ai compris. Je publie les étapes pour installer avec succès les composants requis ci-dessous au cas où quelqu'un d'autre tomberait sur ce problème:

1). Assurez-vous que Homebrew est à jour:

brew update

2) Corrigez l'erreur PHP 7 en vous assurant que Xcode est installé, puis en tapant ce qui suit dans le terminal:

brew install apr apr-util
Sudo mkdir -p /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.12.xctoolchain/usr/local/bin/
Sudo ln -s /usr/local/opt/apr/bin/apr-1-config /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.12.xctoolchain/usr/local/bin/
Sudo ln -s /usr/local/opt/apr-util/bin/apu-1-config /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.12.xctoolchain/usr/local/bin/

3) Exécutez la commande suivante (sinon l'installation PHP se plaindra de l'absence de libz):

xcode-select --install

4) Vous pouvez maintenant installer PHP 7 avec Homebrew:

brew install homebrew/php/php70
10
Garry Pettet

Il peut également être important pour ceux qui utilisent l'installation d'Apache fournie par macOS avec PHP via Homebrew (citation de Homebrew php70 install):

Avec la sortie de macOS Sierra, le module Apache n’est plus construit par défaut. Si vous voulez le construire sur votre système, vous devez installer php avec l'option --with-Apache. Voir les options de préparation php70 pour plus de détails.

2
Stephen Farmer

J'ai utilisé les commandes suivantes pour le faire fonctionner.

brew tap homebrew/dupes
brew tap homebrew/versions
brew tap homebrew/homebrew-php
brew update && brew install apr apr-util
brew link apr-util --force
brew link apr --force
which apu-1-config
which apr-1-config
Sudo mkdir -p /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.12.xctoolchain/usr/local/bin/
Sudo ln -s /usr/local/bin/apu-1-config /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.12.xctoolchain/usr/local/bin/
Sudo ln -s /usr/local/bin/apr-1-config /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.12.xctoolchain/usr/local/bin/
brew install php70
1
knazark

Voici comment mettre à niveau PHP 5.6 à 7.2 dans mon Macbook Pro (macOS Sierra)

une. Mettez à jour le paquet d'infusion en premier.

$ brew update && brew upgrade

b. Dissociez l'ancienne version de PHP si elle était installée avec Homebrew.

$ brew unlink php56

c. Installez la nouvelle version de PHP.

$ brew install php72

Après l’installation, il indique: Pour activer PHP dans Apache, ajoutez ce qui suit à httpd.conf (/ etc/Apache2) et redémarrez Apache:

ré. Avec vim, éditez le fichier httpd.conf d’Apache2.

$ Sudo vim /etc/Apache2/httpd.conf

Recherchez «php5_module», puis recommandez les déclarations comme suit:

#Comment out the PHP5 module
#LoadModule php5_module libexec/Apache2/libphp5.so

Ajoutez les commandes comme suit:

#Enable PHP 7 module
LoadModule php7_module /usr/local/opt/php/lib/httpd/modules/libphp7.so

<FilesMatch \.php$>
  SetHandler application/x-httpd-php
</FilesMatch>

e. Enfin, vérifiez que DirectoryIndex inclut index.php

DirectoryIndex index.php index.html

Les fichiers php.ini et php-fpm.ini peuvent être trouvés dans:

/usr/local/etc/php/7.2/

f. Redémarrer le service Apache

$ Sudo apachectl restart

g. vérifiez la version php:

$ php -v
PHP 7.2.7 (cli) (built: Jun 22 2018 06:29:00) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

Terminé!

Veuillez visiter l'article " Mettre à niveau PHP version de 5.6 à 7.2 sur macOS Sierra (10.12) " de mon blog pour plus d'informations!

Acclamation!

0
Charles Hsu