PHP aparece como texto sin formato después de la actualización a 18.04

8

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 "-" "-"
Benedikt Wutzi
fuente
Probablemente debería instalar y habilitar el módulo php de Apache correcto libapache2-mod-php7.2(y purgar el anterior).
pa4080
libapache2-mod-php7.2 ya es la versión más nueva. :(
Benedikt Wutzi
Tal vez habilitandolo: sudo a2enmod php7.2.
pa4080
1
Módulo php7.2 ya habilitado. ;)
Benedikt Wutzi
1
¿Podría escribir la respuesta como respuesta, por favor? Sería útil si otras personas se topan con la misma situación
Lily Bergonzat

Respuestas:

23

Esto es lo que ordenó mi instalación

sudo apt install php7.2 php7.2-common php7.2-cli
sudo a2enmod php7.2
Phippsia
fuente
2
Gracias, para mí, habilitar el módulo php7.2 funcionó perfectamente, parece haber conflictos entre múltiples versiones de php
Agnius Vasiliauskas
1
Solo necesitaba la segunda línea a2enmod. Una vez que se habilitó, apareció la aplicación. ¡Gracias!
user1794918
4

En realidad, además de los comandos en esta respuesta , necesita

sudo apt install libapache2-mod-php

también. De alguna manera ha desaparecido!

Jarek
fuente
0

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.

Jonathan Bossenger
fuente
0

Me encontré con esto al actualizar Ubuntu 16.04.6 LTS a 18.04 LTS usando la do-release-upgradeherramienta. En mi caso, lo siguiente ayudó:

sudo apt-get install php7.2 libapache2-mod-php

Esto agregó libapache2-mod-php7.2también. php7.2-commony php7.2-cliya estaban instalados, por lo que fueron ignorados. sudo a2enmod php7.2fue ejecutado automáticamente por apt-get.

Por cierto, puede diagnosticar este problema creando un archivo /var/www/html/phpinfo.phpcon el siguiente contenido:

<?php phpinfo(); ?>

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 -ven 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 paquete php7.2-clirealmente se instalaron), pero no es toda la historia. :-)

Laryx Decidua
fuente