GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo instalar PHP 7.2 en Ubuntu 16.04

Se recomienda encarecidamente el uso de PHP 7.2 en un servidor dedicado de Ubuntu sobre las versiones anteriores de PHP por varias razones, la primera es la seguridad. El soporte activo para PHP 7.2 va hasta el 30 de noviembre de 2019 y el soporte de seguridad hasta el 30 de noviembre de 2020. Las versiones anteriores como 7.0 y cualquier versión 5.6 e inferior ya no reciben soporte y pueden dejar brechas de seguridad abiertas en un servidor si no se reemplazan. . Otra razón principal para actualizar es el gran aumento de rendimiento con respecto a las versiones anteriores cuando se instala PHP 7.2 y se usa el módulo OPcache . ¡Esto puede reducir en gran medida el tiempo que tarda su página web en cargarse! Si está desarrollando un sitio localmente o iniciándolo en uno de los Servidores VPS o Dedicados de Ubuntu de Liquid Web, usar PHP 7.2 o posterior sería el camino a seguir.

Pre-vuelo:comprobar el entorno del servidor
  • Permisos correctos: Primero, asegúrese de tener los permisos de root o sudo adecuados para poder administrar el sistema y las aplicaciones en el servidor. Si solo tiene acceso a un usuario no root en el sistema, es posible que deba obtener más permisos del administrador del servidor.
  • Versiones de PHP existentes: Compruebe si hay una versión existente de PHP. Si seleccionó la pila LAMP predeterminada cuando instaló por primera vez la imagen de Ubuntu en el servidor, el valor predeterminado es PHP 7.0. Si usó una imagen diferente o hizo una instalación simple, es posible que no tenga ninguna versión de PHP en el servidor. Para verificar la versión de PHP acceda a la terminal y ejecute:
user@test:~# php -v
 PHP 7.0.30-0ubuntu0.16.04.1 (cli) ( NTS )

Si ve una versión anterior de PHP, tendrá que instalar la nueva versión y cambiar la versión a la que Apache se conecta más adelante. Si muestra “No se encontró el comando php”, significa que no hay una versión de PHP instalada actualmente .

  • Creación de una copia de seguridad rápida: Si tiene una versión de PHP existente, es posible que desee hacer una copia de seguridad de cualquier configuración antes de realizar la actualización en caso de que haya problemas (como si el código de su sitio no fuera compatible) y necesite volver a bajar de categoría. Puede comprobar el directorio de configuración actual ejecutando:
user@test:~# php --ini
 Configuration File (php.ini) Path: /etc/php/7.0/cli
 Loaded Configuration File:         /etc/php/7.0/cli/php.ini
 Scan for additional .ini files in: /etc/php/7.0/cli/conf.d

Esto muestra que todas las configuraciones están en /etc/php/7.0/ directorio. Entonces, si desea hacer una copia de seguridad rápida, puede ejecutar un comando como:

user@test:~# sudo cp -a /etc/php/7.0/ /etc/php/7.0.backup

Además, puede guardar una lista de módulos PHP existentes ejecutando:

user@test:~# sudo cp -a /etc/php/7.0/ /etc/php/7.0.backup

Esto puede ayudar al comparar los módulos existentes con los módulos en PHP 7.2.

Instalación de PHP 7.2

El repositorio oficial de PHP en Ubuntu es de Ondřej Surý en el launchpad. Para agregarlo a su sistema, debe ejecutar el siguiente comando:

user@test:~# sudo add-apt-repository ppa:ondrej/php

Presiona enter cuando te lo pida. Esto permite que su sistema use el repositorio como fuente para el nuevo software. El siguiente comando toma la lista de paquetes de software disponibles para su sistema:

user@test:~# sudo apt-get update

Después de eso, puede continuar con la instalación:

user@test:~# sudo apt-get install php7.2

Debería mostrar varios paquetes diferentes que instalará y cuánto espacio total en disco usarán. Cuando se le solicite, escriba 'Y ' y enviarlo. Después de unos momentos, la instalación debería estar completa, verifique la versión de PHP con:

user@test:~# php -v
 PHP 7.2.13-1+ubuntu16.04.1+deb.sury.org+1

Ahora debería mostrar PHP 7.2, pero ahora necesitamos configurar Apache para usar la versión más reciente.

Configuración de Apache para usar PHP 7.2

Ubuntu 16.04 usa algunos comandos diferentes para ayudar a administrar los módulos de Apache, por lo que la forma en que utiliza una versión específica de PHP depende de qué módulo esté cargado. Puede ver la lista de módulos disponibles ejecutando:

user@test:~# ls /etc/apache2/mods-available/php*
 /etc/apache2/mods-available/php7.0.conf
 /etc/apache2/mods-available/php7.0.load
 /etc/apache2/mods-available/php7.2.conf
 /etc/apache2/mods-available/php7.2.load

También puede tener otros módulos, la instalación predeterminada de la pila LAMP tendría 7.0 y la nueva instalación 7.2 que acabamos de hacer, pero ejecutar el siguiente comando muestra que 7.0 todavía está activo:

user@test:~# ls /etc/apache2/mods-enabled/php*
/etc/apache2/mods-enabled/php7.0.conf
/etc/apache2/mods-enabled/php7.0.load

Para cambiar eso a la nueva versión 7.2, primero deshabilite la versión anterior de PHP:

user@test:~# sudo a2dismod php7.0

Luego habilite PHP 7.2:

user@test:~# sudo a2enmod php7.2

Antes de reiniciar Apache, verifique la sintaxis de configuración de Apache ejecutando:

user@test:~# apachectl -t
Syntax OK

Si dice que la sintaxis es correcta, reinicie Apache:

user@test:~# sudo service apache2 restart

Verificación de la versión de PHP de Apache

Ahora, para verificar su trabajo, ejecute el comando anterior nuevamente para ver qué módulo está cargado y debería mostrar la versión de PHP 7.2:

user@test:~# ls /etc/apache2/mods-enabled/php*
/etc/apache2/mods-enabled/php7.2.conf
/etc/apache2/mods-enabled/php7.2.load

Si no ve los mismos resultados que se muestran en los últimos comandos, vuelva a revisar la ortografía y la sintaxis de los últimos comandos y asegúrese de que sudo se ingresó si no se está ejecutando como usuario raíz.

Luego, para probarlo en su sitio, le recomendamos crear un archivo phpinfo que pueda ver en su dominio. Esto muestra la versión de PHP, así como información sobre configuraciones actuales, variables y todos los módulos agregados. Crea un nuevo .php archivo en la carpeta de inicio de su sitio o en la raíz del documento de Apache (/var/www/html por defecto) e incluye este código:

<?php phpinfo(); ?>

Luego, si visita la página en el navegador, debería verse así:

Si ya tenía un sitio en funcionamiento en la versión anterior de PHP, pruébelo ahora y vea si hay algún problema. Si su código no es compatible o muestra errores, puede intentar diagnosticar más o si necesita una copia de seguridad del sitio de inmediato, puede degradar la versión de PHP nuevamente ejecutando a2dismod y a2enmod comandos para deshabilitar PHP 7.2 y luego habilitar 7.0 o cualquier versión anterior que tuviera en el servidor y luego reiniciar Apache nuevamente.

Algunos sitios ahora pueden mostrar un error que dice que falta un módulo y no se puede ejecutar, o si está desarrollando un nuevo sitio y tiene una lista de módulos que se necesitan, entonces la siguiente sección puede ayudarlo a agregar nuevos módulos.

Agregar módulos a PHP 7.2

El cambio a PHP 7.2 no mantiene automáticamente todos los mismos módulos de las versiones anteriores de PHP. Si no necesita comparar la lista con una versión anterior de PHP, para instalar los módulos básicos que necesita, primero escriba el comando a continuación. Pero no presione enter, si presiona el TAB tecla dos veces debería obtener una lista de módulos disponibles específicos para 7.2::

@test:~# sudo apt-get install php7.2[tab][tab]

Ejemplo de salida:
php7.2 php7.2-enchant php7.2-mbstring php7.2-snmp
php7.2-bcmath php7.2-fpm php7.2-mysql php7.2-soap
php7.2-bz2 php7.2-gd php7.2-odbc php7.2-sqlite3
php7.2-cgi php7.2-gmp php7.2-opcache php7.2-sybase
php7.2-cli php7.2-imap php7.2-pgsql php7.2-tidy
php7.2-common php7.2-interbase php7.2-phpdbg php7.2-xml
php7.2-curl php7.2-intl php7.2-pspell php7.2-xmlrpc
php7.2-dba php7.2-json php7.2-readline php7.2-xsl
php7.2-dev php7.2-ldap php7.2-recode php7.2-zip

Esta no es una lista completa, por lo que es posible que deba buscar cómo instalar otros módulos que pueda necesitar. Puede escribir los módulos que desee y puede agregar varios en el mismo comando de instalación, como:

user@test:~# sudo apt-get install php7.2-opcache php7.2-mbstring php-memcached

Si guardó la lista de módulos de una versión anterior de PHP con el comando anterior en la guía, puede guardar una lista de módulos en PHP 7.2 y compararlos con la versión anterior. Ejecutar:

php -m > /tmp/7.2.modulelist.txt

Luego, para compararlo con la lista que se creó anteriormente, ejecute:

user@test:~# diff  /tmp/7.0.modulelist.txt /tmp/7.2.modulelist.txt
15,16d14
< mysqli
< mysqlnd
21d18
< pdo_mysql
28d24
< soap
29a26
> sodium

O si desea una forma más visual de comparar las dos listas, ejecute:

user@test:~# vimdiff  /tmp/7.0.modulelist.txt /tmp/7.2.modulelist.txt

Que mostrará una página como esta en la terminal:

En este ejemplo, los diversos módulos MySQL y SOAP aparecen en la lista de módulos 7.0 a la izquierda, pero faltan en la versión 7.2 a la derecha, y el módulo de sodio está en 7.2 pero no estaba en 7.0.

Entonces, para este ejemplo, podemos instalar los módulos que faltan con:

user@test:~# sudo apt-get install php7.2-mysql php7.2-soap

Después de que se instale, podemos guardar una lista actualizada de módulos y compararla nuevamente:

user@test:~# php -m > /tmp/7.2.modulelist.updated.txt
diff /tmp/7.0.modulelist.txt /tmp/7.2.modulelist.updated.txt
29a30
> sodium

Solo el módulo de sodio es diferente entre las listas de módulos, ¡así que ahora está listo para el desarrollo! ¡Con suerte, esta guía lo ayudó con su actualización a PHP 7.2! Si tuvo algún problema o necesita más ayuda con Liquid Web Ubuntu Server, infórmele a nuestro equipo de soporte de Linux.


Ubuntu
  1. Cómo instalar PHP 7.4/7.3/7.2 en Ubuntu 18.04/Ubuntu 16.04

  2. Cómo instalar PHP 8.0 en Ubuntu 20.04 / Ubuntu 18.04

  3. Cómo instalar Composer en Ubuntu 20.04

  4. Cómo instalar XCache en Ubuntu 15.04

  5. Cómo instalar PHP 7 en Ubuntu 14.04

Cómo instalar PHP 8.0 en Ubuntu 20.04

Cómo instalar PHP 8 en Ubuntu 20.04

Cómo instalar Memcached en Ubuntu 15.04

Cómo instalar PHP 8.0 en Ubuntu 20.04/18.04

Cómo instalar PHP en Ubuntu 22.04

Cómo instalar PHP en Ubuntu 22.04