Estoy tratando de conseguir que PHP7.2 funcione en localhost, pero phpinfo() sigue diciendo que 7.1.19 está en su lugar mientras ~php -v me dice que PHP7.2.18 está en su lugar.
Si ejecuto ~php -v dice:
PHP 7.2.18 (cli) (construido: 2 de mayo de 2019 13:03:01) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies con Zend OPcache v7.2.18, Copyright (c) 1999-2018, por 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:/Aplicaciones/VMware Fusion.app/Contents/Public:/opt/X11/bin
He instalado PHP7.2 a través de brew en
➜ php@7.2 pwd
/usr/local/opt/php@7.2
Espero obtener en localhost PHP 7.2.18 en su lugar.
ACTUALIZACIÓN
He seguido estas instrucciones del enlace mencionado por @miken32 ( ¿Cómo utilizar el php que brew instaló? )
Editado httpd.conf en la carpeta /etc/apache2
#LoadModule php7_module libexec/apache2/libphp7.so
LoadModule php7_module /usr/local/opt/php@7.2/lib/httpd/modules/libphp7.so
Si descomento la primera línea y comento la segunda, puedo ejecutar phpinfo() desde localhost, sin embargo dice que es PHP 7.1.19 y php -v
dice 7.2.18
Si comento la primera línea y descomento la segunda, localhost no arranca y php -v
dice 7.2.18
También seguí estos pasos, pero tampoco hubo suerte.
$ 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
También probó la cerveza link php71 --force
pero eso tampoco ayudó.
Así que parece que el servidor web no se inicia cuando cambio las líneas httpd.conf
¿Algún paso que pueda dar para poner en marcha la 7.2.18?
ACTUALIZACIÓN 2
➜ apache2 sudo apachectl -t
httpd: Error de sintaxis en la línea 178 de /private/etc/apache2/httpd.conf: No se puede cargar /usr/local/opt/php@7.2/lib/httpd/modules/libphp7.so en servidor: dlopen(/usr/local/opt/php@7.2/lib/httpd/modules/libphp7.so, 10): no se ha encontrado ninguna imagen adecuada. Hizo encontrado: \n\t /usr/local/opt/php@7.2/lib/httpd/modules/libphp7.so: código firma en (/usr/local/opt/php@7.2/lib/httpd/modules/libphp7.so) no es válida para su uso en el proceso que utiliza la validación de bibliotecas: el archivo mapeado no tiene cdhash, completamente sin firma? El código tiene que estar al menos ad-hoc firmado. \n\t /usr/local/opt/php@7.2/lib/httpd/modules/libphp7.so: stat() falló con errno=22
La línea 178 dice:
LoadModule php7_module /usr/local/opt/php@7.2/lib/httpd/modules/libphp7.so
Hay que investigarlo. En algún lugar de SO en un post más antiguo se sugirió si hay algún carácter "extraño" que pueda causar el error. Lo verifiqué y el único extraño es '@'. Sin embargo, eso es la instalación de Brew fuera de la caja.
0 votos
Ahora mismo es difícil entender cuál es el problema actual y por qué ha intentado resolver este problema concreto. Lo más probable es que todo esté en tu texto, pero podría ayudar si pudieras aplicar algo más de estructura y centrarte en los puntos clave.