J'essaie de passer à php7 que j'ai installé via homebrew.
Dans l'interface de ligne de commande, php -v renvoie
PHP 7.0.10 (cli) (built: Aug 21 2016 19:14:33) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies
Mais pour localhost, Firefox affiche un problème de chargement de page, et je ne peux pas voir un hôte local/phpinfo.php; si je permute les lignes du module vers php5 cela fonctionne bien.
Voici un Pastebin http://Pastebin.com/950yC7wA de mon Apache2/httpd.conf, je ne sais pas du tout comment y remédier.
Достоверься что:
Вы установили PHP с поддержкой модуля Apache (см.: brew options php71
).
Например. --with-httpd22
или --with-httpd24
включены.
Вы следовали инструкциям brew info php71
==> Caveats
To enable PHP in Apache add the following to httpd.conf and restart Apache:
LoadModule php7_module /usr/local/opt/php71/libexec/Apache2/libphp7.so
<FilesMatch .php$>
SetHandler application/x-httpd-php
</FilesMatch>
Finally, check DirectoryIndex includes index.php
DirectoryIndex index.php index.html
Sudo apachectl restart
.Пошаговое руководство см. В: Notes Apache, MySQL et PHP en passant par Homebrew sur macOS Sierra .
Vous êtes le premier à donner votre avis!
tail -f /usr/local/var/log/Apache2/*error*
Затем запустите/перезагрузите сервер.
Примечание: когда закончите, нажмитеControl-Cвыйти tail
.
Bien que Homebrew soit un excellent outil, il est parfois inutile.
Je mentionne dans mes messages sur L'installation d'Apache, PHP et MySQL sur Mac OS X , OS X est fourni avec Apache et PHP préinstallés. En tant que tel, vous devez simplement les configurer et les activer.
Malheureusement, à partir de Mac OS 10.11 (El Capitan), la version PHP est toujours 5.5. J'imagine que cela va changer avec 10.12 (Sierra) puisque PHP 5.5 est EOL. Cependant, il ne peut s'agir que de PHP 5.6.
Pour installer PHP 7, je vous recommande d’utiliser PHP OSX . Ils proposent des installations de paquet pour les versions PHP 5.3 à 7.1 (les plus récentes). Il est disponible pour Mac OS 10.6+ (Snow Leopard).
Puisqu'il s'agit d'une installation de paquet, cela fonctionne immédiatement avec l'installation par défaut d'Apache. Vous aurez seulement besoin de mettre à jour votre PATH
et de modifier son fichier ini PHP. Les deux sont décrits dans leur FAQ .
Si vous souhaitez un didacticiel plus détaillé, consultez mon article récent sur Mise à jour de PHP sur Mac OS X .
Si vous utilisez Apache sur OS X Sierra, php7 ne vient plus avec le module Apache par défaut.
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.
Essayez de réinstaller avec le drapeau:
brew reinstall php70 --with-Apache
Lancer $ apachectl -t
montrera tous les problèmes avec votre configuration actuelle. Quand j'ai couru, j'ai eu ceci:
httpd: erreur de syntaxe à la ligne 171 du fichier /private/etc/Apache2/httpd.conf: Impossible de charger /usr/local/opt/php70/libexec/Apache2/libphp7.so dans serveur: dlopen (/usr/local/opt/php70/libexec/Apache2/libphp7.so, 10): Symbole non trouvé: _ldap_control_find\n Référencé depuis: /usr/local/opt/php70/libexec/Apache2/libphp7.so\n Attendu dans: /System/Library/Frameworks/LDAP.framework/Versions/A/LDAP\n in /usr/local/opt/php70/libexec/Apache2/libphp7.so
Je peux confirmer cette solution de contournement publiée sur github , l'installation du package sans la prise en charge de LDAP évitera cette erreur:
brew reinstall php70 --without-ldap
J'ai eu le même problème et il est parti quand j'ai commenté cette ligne dans /etc/Apache2/httpd.conf
LoadModule php5_module libexec/Apache2/libphp5.so
Ce n’est pas une solution directe à votre problème, mais j’ai eu d’innombrables problèmes avec php sous OS X. Plus récemment, je tentais de faire fonctionner les bibliothèques OCI après la mise à niveau vers El Capitan.
J'ai cessé d'essayer de l'utiliser maintenant et a commencé à utiliser docker pour mon développement. Je trouve cette solution bien meilleure et vous pouvez même configurer plusieurs environnements sur la même base de code, ce qui est très utile pour tester différentes versions.
Docker est très facile à configurer sous OS X et dispose d'une vaste gamme de conteneurs prédéfinis disponibles dans le référentiel. Il vous suffit d'installer et de définir le point de montage dans votre répertoire source et d'utiliser le port auquel vous avez accès.
Je découvre aujourd'hui un nouveau chemin pour charger les différentes bibliothèques php dans le fichier httpd.conf (/usr/local/etc/httpd/httpd.conf):
### OLD VERSION (NOT WORKING NOW) ###
#LoadModule php5_module /usr/local/opt/php56/libexec/Apache2/libphp5.so
#LoadModule php7_module /usr/local/opt/php70/libexec/Apache2/libphp7.so
#LoadModule php7_module /usr/local/opt/php71/libexec/Apache2/libphp7.so
#LoadModule php7_module /usr/local/opt/php72/libexec/Apache2/libphp7.so
### NEW VERSION ###
#LoadModule php5_module /usr/local/opt/php56/lib/httpd/modules/libphp7.so
#LoadModule php7_module /usr/local/opt/php70/lib/httpd/modules/libphp7.so
#LoadModule php7_module /usr/local/opt/php71/lib/httpd/modules/libphp7.so
LoadModule php7_module /usr/local/opt/php72/lib/httpd/modules/libphp7.so
Pour les personnes susceptibles de rencontrer ce problème, assurez-vous de pouvoir redémarrer Apache avec "apachectl restart". Dans mon cas, je devais d'abord arrêter tous les processus de httpd en utilisant la commande "httpd stop" puis démarrer Apache en utilisant "apachectl start".
Je sais que c'est un sujet très ancien, mais lorsque vous mettez à jour PHP, vous devez également mettre à jour Apache Confing - par exemple:
LoadModule php5_module libexec/Apache2/libphp5.so
changer à:
LoadModule php7_module libexec/Apache2/libphp7.so