J'essaie de faire fonctionner PHP7.2 sur localhost, mais phpinfo() continue de dire que 7.1.19 est en place alors que ~php -v me dit que PHP7.2.18 est en place.
Si je lance ~php -v, il est indiqué :
PHP 7.2.18 (cli) (construit le : 2 mai 2019 13:03:01) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies avec Zend OPcache v7.2.18, Copyright (c) 1999-2018, par Zend Technologies
~echo $PATH
/usr/local/opt/php@7.2/sbin:/usr/local/opt/php@7.2/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/Applications/VMware Fusion.app/Contents/Public:/opt/X11/bin
J'ai installé PHP7.2 via brew dans
php@7.2 pwd
/usr/local/opt/php@7.2
Je m'attends à obtenir sur l'hôte local PHP 7.2.18 en place.
MISE À JOUR
J'ai suivi les instructions du lien mentionné par @miken32 ( Comment utiliser le logiciel php installé par Brew ? )
Modification de httpd.conf dans le dossier /etc/apache2
#LoadModule php7_module libexec/apache2/libphp7.so
LoadModule php7_module /usr/local/opt/php@7.2/lib/httpd/modules/libphp7.so
Si je décommente la première ligne et commente la seconde, je peux lancer phpinfo() depuis localhost, mais il indique qu'il s'agit de PHP 7.1.19 et de php -v
dit 7.2.18
Si je commente la première ligne et décommente la seconde, localhost ne démarre pas et php -v
dit 7.2.18
J'ai également suivi ces étapes, mais sans succès.
$ brew update php // get the latest homebrew php packages
$ brew install php@7.2
$ brew link php@7.2 // create an alias to this keg-only version; see comments output during installation
$ echo 'export PATH="/usr/local/opt/php@7.2/bin:$PATH"' >> ~/.bash_profile // add the alias to your path; see comments output during installation
$ source ~/.bash_profile // reload .bash_profile to use the new settings immediately
$ sudo apachectl restart
J'ai également essayé l'infusion link php71 --force
mais cela n'a pas aidé non plus.
Il semble donc que le serveur web ne démarre pas lorsque je change de ligne httpd.conf
Y a-t-il des mesures à prendre pour lancer la version 7.2.18 ?
MISE À JOUR 2
apache2 sudo apachectl -t
httpd : Erreur de syntaxe à la ligne 178 de /private/etc/apache2/httpd.conf : Cannot load /usr/local/opt/php@7.2/lib/httpd/modules/libphp7.so into serveur : dlopen(/usr/local/opt/php@7.2/lib/httpd/modules/libphp7.so, 10) : aucune image appropriée n'a été trouvée. Did trouvé : \n\t /usr/local/opt/php@7.2/lib/httpd/modules/libphp7.so : code signature dans (/usr/local/opt/php@7.2/lib/httpd/modules/libphp7.so) n'est pas valide pour une utilisation dans un processus utilisant Library Validation : le fichier mappé n'a pas de cdhash, complètement non signé ? Le code doit être au moins signé de manière ad hoc. signé. \n\t /usr/local/opt/php@7.2/lib/httpd/modules/libphp7.so : stat() a échoué avec errno=22
La ligne 178 dit :
L /usr/local/opt/php@7.2/lib/httpd/modules/libphp7.so
Il faut y jeter un coup d'œil. Quelque part sur SO, dans un ancien message, il a été suggéré de vérifier s'il y avait des caractères "étranges" qui pourraient causer l'erreur. J'ai vérifié et le seul caractère étrange est '@'. Cependant, il s'agit de l'installation prête à l'emploi de Brew.