Acabo de actualizar a Ubuntu 18.04. Ahora apache sirve el php de mi sitio web como texto sin formato php. Ya lo he intentado: ¿por qué mis archivos PHP se muestran como texto sin formato? (en Stack Overflow) y PHP 7 y apache muestran texto sin formato y no se pueden reiniciar . Los paquetes php instalados son:
php php7.2-cli php7.2-fpm php7.2-mbstring php7.2-pgsql php7.2-sqlite3 php7.2-zip php-curl php-igbinary php-pgsql php-xml
php7.2 php7.2-common php7.2-gd php7.2-mysql php7.2-readline php7.2-xml php-bz2 php-fpm php-mbstring php-soap php-xmlrpc
php7.2-bz2 php7.2-curl php7.2-json php7.2-opcache php7.2-soap php7.2-xmlrpc php-common php-gd php-mysql php-sqlite3 php-zip
Uno de los sitios web en cuestión se puede ver aquí .
El apache error.log
:
[Thu Apr 26 16:02:12.740886 2018] [mpm_prefork:notice] [pid 6504] AH00169: caught SIGTERM, shutting down
[Thu Apr 26 16:02:13.001806 2018] [mpm_prefork:notice] [pid 7704] AH00163: Apache/2.4.29 (Ubuntu) OpenSSL/1.1.0g configured -- resuming normal operations
[Thu Apr 26 16:02:13.001900 2018] [core:notice] [pid 7704] AH00094: Command line: '/usr/sbin/apache2'
Y el access.log
:
<MYIP> - - [26/Apr/2018:16:02:40 +0200] "-" 408 3435 "-" "-"
<MYIP> - - [26/Apr/2018:16:02:40 +0200] "-" 408 3435 "-" "-"
<MYIP> - - [26/Apr/2018:16:02:40 +0200] "-" 408 3435 "-" "-"
libapache2-mod-php7.2
(y purgar el anterior).sudo a2enmod php7.2
.Respuestas:
Esto es lo que ordenó mi instalación
fuente
En realidad, además de los comandos en esta respuesta , necesita
también. De alguna manera ha desaparecido!
fuente
Parece que esto podría estar relacionado con tener 2 versiones de PHP instaladas y habilitadas al mismo tiempo después de la actualización. Ninguno de los anteriores funcionó para mí, así que desinstalé Apache, PHP 7.1 y PHP 7.2, reinstalé Apache y PHP 7.2 y las cosas están funcionando ahora.
fuente
Me encontré con esto al actualizar Ubuntu 16.04.6 LTS a 18.04 LTS usando la
do-release-upgrade
herramienta. En mi caso, lo siguiente ayudó:sudo apt-get install php7.2 libapache2-mod-php
Esto agregó
libapache2-mod-php7.2
también.php7.2-common
yphp7.2-cli
ya estaban instalados, por lo que fueron ignorados.sudo a2enmod php7.2
fue ejecutado automáticamente porapt-get
.Por cierto, puede diagnosticar este problema creando un archivo
/var/www/html/phpinfo.php
con el siguiente contenido:y luego apuntando su navegador a la URL
http://your.server/phpinfo.php
. Debería obtener una buena página web con todas las configuraciones de PHP. Si recibe el<?php phpinfo(); ?>
texto en su lugar, entonces necesita instalar los paquetes descritos anteriormente.Menciono esto porque primero solo ejecuté
php -v
en la línea de comando y me dijo que PHP 7.2 estaba instalado. Lo cual es bastante cierto (ya que las cosas de la línea de comandos del paquetephp7.2-cli
realmente se instalaron), pero no es toda la historia. :-)fuente