Cómo actualizar a PHP 7 en Ubuntu 14.04

Dec 15 de, el año 2015  PHP , Apache , lámpara Pila , Nginx , LEMP Ubuntu

Introducción

PHP 7, que fue lanzado el 3 de diciembre de 2015, promete sustanciales mejoras en la velocidad con respecto a versiones anteriores de la lengua, junto con nuevas características como el tipo escalar dando a entender. Esta guía explica cómo actualizar rápidamente un servidor web PHP 5.x ejecutando Apache o Nginx (cualquier versión) para PHP 7.
Advertencia: Al igual que con la mayoría de las versiones de idioma para versiones principales, lo mejor es esperar un poco antes de cambiar a PHP 7 en la producción. En el mientras tanto, es un buen momento para probar sus aplicaciones para la compatibilidad con la nueva versión, lleve a cabo los puntos de referencia, y familiarizarse con las nuevas características del lenguaje.
Si se está utilizando cualquiera de los servicios o aplicaciones con usuarios activos, lo más seguro es probar primero este proceso en un entorno de ensayo.

Requisitos previos

Esta guía asume que está ejecutando PHP 5.x en una máquina de Ubuntu 14.04, utilizando mod_php en combinación con Apache o PHP-FPM en conjunción con Nginx. También se supone que tiene un usuario no root configurado con sudo privilegios para tareas administrativas.

La adición de un PPA para PHP 7.0 Paquetes

Un paquete de archivos personales , o PPA, es un repositorio Apt alojado en Launchpad . PPA permiten a los desarrolladores de terceros para crear y distribuir paquetes para Ubuntu fuera de los canales oficiales.A menudo son fuentes útiles de software beta, modificados construye y backports a versiones anteriores del sistema operativo.
Ondřej SURY mantiene los paquetes de PHP para Debian, y ofrece un PPA para PHP 7.0 en Ubuntu .Antes de hacer cualquier otra cosa, inicie sesión en el sistema, y añadir PPA de Ondřej a fuentes de APT del sistema:
  • sudo add-apt ppa-repositorio: ondrej / php
Usted verá una descripción de la PPA, seguido de una solicitud para continuar. Pulse Intro para continuar.
Nota: Si la configuración regional del sistema se establece en otra cosa que no sea UTF-8, la adición de la PPA puede fallar debido a un error de manipulación de caracteres en el nombre del autor. Para solucionar este problema, puede instalar language-pack-en-base para asegurarse de que se generan lugares, y anular las opciones de localización de todo el sistema, mientras que la adición de la PPA:
  • sudo apt-get install -y language-pack-en-base
  • sudo LC_ALL = en_US.UTF-8 add-apt-repositorio ppa: ondrej / php
Una vez instalado el PPA, actualizar la memoria caché local de paquetes para incluir su contenido:
  • apt-get update sudo
Ahora que tenemos acceso a los paquetes de PHP 7.0, podemos sustituir la instalación de PHP existente.

Actualización de mod_php con Apache

En esta sección se describe el proceso de actualización de un sistema que utiliza Apache como servidor web y mod_php para ejecutar código PHP. Si, en cambio, está ejecutando Nginx y PHP-FPM, salte a la siguiente sección.
En primer lugar, instalar los nuevos paquetes. Esto actualizará todos los paquetes de PHP importantes, con la excepción de php5-mysql , que será eliminado.
  • sudo apt-get install php7.0
Nota: Si ha realizado modificaciones sustanciales a los archivos de configuración en / etc / php5 / , esos archivos son todavía en su lugar, y se puede hacer referencia. Los archivos de configuración para PHP 7.0 ahora viven en /etc/php/7.0 .
Si está utilizando MySQL, asegúrese de volver a añadir los enlaces de PHP MySQL actualizados:
  • sudo apt-get install mysql-php7.0

La actualización de PHP-FPM con Nginx

En esta sección se describe el proceso de actualización para un sistema que usa Nginx como el servidor web y PHP-FPM para ejecutar código PHP.
En primer lugar, instale el nuevo paquete PHP-FPM y sus dependencias:
  • sudo apt-get install php7.0-FPM
Se le preguntará si desea continuar. Presione Enter para completar la instalación.
Si está utilizando MySQL, asegúrese de volver a instalar los enlaces de PHP MySQL:
  • sudo apt-get install mysql-php7.0
Nota: Si ha realizado modificaciones sustanciales a los archivos de configuración en / etc / php5 / , esos archivos son todavía en su lugar, y se puede hacer referencia. Los archivos de configuración para PHP 7.0 ahora viven en /etc/php/7.0 .

Actualización de Nginx sitio (s) para utilizar el nuevo socket Camino

Nginx se comunica con PHP-FPM utilizando un socket de dominio Unix . Zócalos se asignan a una ruta en el sistema de archivos, y nuestra instalación de PHP 7 utiliza una nueva ruta por defecto:
PHP 5PHP 7
/var/run/php5-fpm.sock/var/run/php/php7.0-fpm.sock
Abra el predeterminado archivo de configuración de sitio con nano (o su editor de elección):
  • sudo nano / etc / nginx / sites-enabled / default
Su configuración puede diferir de alguna manera. Busque un bloque que comienza con la ubicación ~ \ {$ .php , y una línea que se ve algo como fastcgi_pass UNIX: /var/run/php5-fpm.sock; .Cambie esta opción para utilizar UNIX: /var/run/php/php7.0-fpm.sock .
/ Etc / nginx / sites-enabled / default
servidor {
    escuchar 80 default_server;
    escuchar [::]: 80 default_server ipv6only = en;

    root / var / www / html;
    Índice index.htm index.php index.html;

    nombre_servidor server_domain_name_or_IP ;

    ubicación / {
        try_files $ uri uri $ / = 404;
    }

    error_page 404 /404.html;
    error_page 500 502 503 504 /50x.html;
    location = {/50x.html
        root / usr / share / nginx / html;
    }

    ubicación ~ \ {$ .php
        try_files $ uri = 404;
        fastcgi_split_path_info ^ (+ \ php..) (/.+) $;
        fastcgi_pass UNIX: /var/run/php/php7.0-fpm.sock;
        index.php fastcgi_index;
        fastcgi_param SCRIPT_FILENAME $ document_root $ fastcgi_script_name;
        incluir fastcgi_params;
    }
}
Salir y guardar el archivo. En nano , se puede lograr esto pulsando Ctrl-X para salir, y para confirmar, yEnter para confirmar el nombre del archivo para sobrescribir.
Debe repetir este proceso para los otros sitios virtuales definidos en / etc / nginx / sites-enabled que deben soportar PHP.
Ahora podemos reiniciar nginx :
  • sudo reinicio del servicio nginx

PHP las pruebas

Con un servidor web configurado e instalado los nuevos paquetes, debemos ser capaces de verificar que PHP está en funcionamiento. Comience comprobando la versión instalada de PHP en la línea de comandos:
  • php -v
Salida
PHP 7.0.0-5 + deb.sury.org ~ de confianza + 1 (CLI) (NTS) Derechos de autor (c) 1997-2015 El Grupo de PHP Zend Engine v3.0.0, Derechos de autor (c) 1998-2015 Zend Technologies con Zend OPcache v7.0.6-dev, Copyright (c) 1999-2015, por Zend Technologies
También puede crear un archivo de prueba en la raíz de documentos del servidor web. Dependiendo de su servidor y la configuración, esto puede ser uno de:
  • / Var / www / html
  • / Var / www /
  • / Usr / share / nginx / html
El uso de nano , abrir un nuevo archivo llamado info.php en la raíz del documento. Por defecto, en Apache, esto sería:
  • /var/www/html/info.php sudo nano
En Nginx, en su lugar puede utilizar:
  • /usr/share/nginx/html/info.php sudo nano
Pegue el siguiente código:
info.php
<? Php
phpinfo ();
?>
Salir del editor, ahorrando info.php . Ahora, cargue la siguiente dirección en su navegador:
http: // server_domain_name_or_IP /info.php
Debería ver la versión de PHP y la información de configuración para PHP 7. Una vez que haya marcado doble esto, es más seguro para eliminar info.php :
  • sudo rm /var/www/html/info.php

Conclusión

Ahora dispone de una instalación de trabajo de PHP 7. A partir de aquí, es posible que desee comprobar hacia fuera de Erika Heidi conseguir listo para PHP 7 entrada en el blog, y mirar por encima de la guía oficial de la migración .


EmoticonEmoticon