¿Cómo instalar PHP 7?

107

PHP 7 salió ayer y me gustaría intentarlo.

  

PHP 7.0.0 viene con una nueva versión de Zend Engine, numerosas mejoras y nuevas características como

     
  • Rendimiento mejorado: PHP 7 es hasta dos veces más rápido que PHP 5.6
  •   
  • Uso de memoria significativamente reducido
  •   
  • Árbol de sintaxis abstracto
  •   
  • Compatibilidad consistente de 64 bits
  •   
  • Jerarquía de excepciones mejorada
  •   
  • Muchos errores fatales convertidos en Excepciones
  •   
  • Generador de números aleatorios seguro
  •   
  • Eliminó SAPIs y extensiones antiguas y no compatibles
  •   
  • El operador coalescente nulo (??)
  •   
  • Declaraciones de devolución y tipo escalar
  •   
  • Clases anónimas
  •   
  • Cero costo afirma
  •   

php.net

¿Es posible instalarlo en la versión actual de Ubuntu?

¿Hay alguna limitación actual o problemas de compatibilidad conocidos?

    
pregunta hg8 04.12.2015 - 15:13

9 respuestas

172

Puede hacer lo siguiente:

sudo apt-get install python-software-properties software-properties-common
sudo LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php
sudo apt-get update

Opcionalmente purgar PHP 5:

sudo apt-get remove php5-common -y

O purgue directamente, incluidos los archivos de configuración:

sudo apt-get purge php5-common -y

Y finalmente instale PHP 7:

sudo apt-get install php7.0 php7.0-fpm php7.0-mysql -y

Opcionalmente, limpie los paquetes innecesarios después:

sudo apt-get --purge autoremove -y

Alternativamente, puede instalar PHP 7.0 desde las fuentes utilizando este script script o siguiendo las instrucciones de este blog .

EDITAR:

PHP5 ahora ha sido reemplazado con PHP7 como PHP predeterminado en Ubuntu 16.4, para instalar PHP7 en Ubuntu 16.04:

sudo apt-get install php7.0 

O

sudo apt-get install php
    
respondido por el Tshilidzi Mudau 04.12.2015 - 15:52
20

Tienes dos opciones:

  • Espere hasta que haya una nueva versión de Ubuntu que incluya PHP7

    Ubuntu no lanzará nuevos lanzamientos de versiones más importantes para la mayoría del software a las versiones existentes de Ubuntu; para obtener una nueva versión de la versión principal, necesitarás esperar hasta una versión más nueva de Ubuntu.

  • Instalar una versión de terceros, como desde un PPA

    Los PPA no están sujetos a los calendarios o políticas de publicación de Ubuntu, por lo que pueden cambiar versiones con mayor frecuencia, entre otras cosas. El PPA mencionado en la respuesta de Tshilidzi Mudau es una forma popular de mantenerse más actualizado con PHP.

    sudo add-apt-repository ppa:ondrej/php
    

    Las PPA no cuentan con el mismo soporte oficial de Ubuntu que las versiones provistas por Ubuntu, y debido a diferentes horarios y políticas pueden ser de diferente calidad o estándar de seguridad. En este caso, el desarrollador que hace que este PPA esté disponible es bien conocido por la comunidad aquí.

respondido por el thomasrutter 06.12.2015 - 14:00
17

Aquí está mi lista de comandos para actualizar completamente PHP con sus dependencias, incluyendo phpMyAdmin (pila LAMP completa):

sudo apt-get install python-software-properties
sudo add-apt-repository ppa:ondrej/php-7.0
sudo apt-get update
sudo apt-get purge php5-fpm
sudo apt-get install php7.0-cli php7.0-common libapache2-mod-php7.0 php7.0 php7.0-mysql php7.0-fpm php7.0-curl php7.0-gd php7.0-bz2

Ahora tienes PHP7. Vamos a phpMyAdmin: (comience aquí si ya tiene PHP7 instalado)

cd /var/www/html/
sudo wget https://files.phpmyadmin.net/phpMyAdmin/4.5.3.1/phpMyAdmin-4.5.3.1-all-languages.zip
sudo unzip phpMyAdmin-4.5.3.1-all-languages.zip
sudo mv phpMyAdmin-4.5.3.1-all-languages/ phpmyadmin/
sudo mkdir -m 777 phpmyadmin/config/
sudo /etc/init.d/apache2 restart
    
respondido por el Jarek Jakubowski 25.01.2016 - 12:22
10

Para Ubuntu 16.04, PHP7 ahora es la versión original oficial predeterminada.

sudo apt install php

Aquí hay una guía práctica para configurar una pila LAMP el 16.04 .

    
respondido por el Jeff Puckett 13.07.2016 - 01:13
6

El proceso anterior no funcionó para mi servidor Ubuntu 15.10, así que pensé en compartir lo que funcionó en caso de que otros lo encuentren útil.

Primero tuve que eliminar ciertos módulos clave de PHP 5:

sudo apt-get -y purge php5 libapache2-mod-php5 php5 php5-cli php5-common php5-curl php5-gd php5-imap php5-intl php5-json php5-mcrypt php5-mysql php5-pspell php5-readline php5-sqlite

Luego, elimine algunas cosas extra que quedaron atrás:

sudo apt-get autoremove

Luego instala PHP 7.0:

sudo apt-get install php7.0

Luego, cuando se eliminó PHPMyAdmin, Apache2 no se inició, así que tuve que eliminar el archivo de configuración (podría haberlo movido):

sudo rm /etc/apache2/conf-enabled/phpmyadmin.conf

Luego tuve que reiniciar Apache2:

sudo service apache2 restart

PHP 7.0 se estaba ejecutando (se confirmó con PHPINFO(); )

Sin embargo, he encontrado que la única manera de que PHPMyAdmin funcione es instalarlo / actualizarlo manualmente, ya que de lo contrario la última versión disponible en las fuentes aún no es compatible con PHP 7.

** EDIT: ahora he encontrado una forma de actualizar PHPMyAdmin a una versión compatible sin tener que clonar desde GIT o compilar manualmente desde las fuentes, así que lo agrego a continuación:

Primero agregue este repositorio, actualice la lista de fuentes y actualice (NB: si se eliminó durante la actualización a PHP7, necesitará instalarlo en lugar de actualizarlo):

sudo add-apt-repository ppa:nijel/phpmyadmin
sudo apt-get update
sudo apt-get dist-upgrade

Sin embargo, durante la instalación (en mi servidor) tuvo que ejecutar un script de actualización de la base de datos upgrade_column_info_4_3_0+.sql pero esto falló con el siguiente error:

mysql said: ERROR 1060 (42S21) at line 28: Duplicate column name 'input_transformation'

Opté por ignorar el error y completar la actualización. Después de la instalación, abrí el script de actualización .sql en /usr/share/phpmyadmin/sql/upgrade_column_info_4_3_0+.sql

Ejecuté el script de forma manual eliminando las dos líneas ofensivas que intentaban crear 2 columnas que ya existían (código para eliminar):

ALTER TABLE 'pma__column_info'
ADD 'input_transformation' varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
ADD 'input_transformation_options' varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '';

Finalmente tuve que editar el archivo de configuración en /etc/phpmyadmin/config.inc.php y agregar las siguientes dos líneas:

$cfg['Servers'][$i]['designer_settings'] = 'pma__designer_settings';
$cfg['Servers'][$i]['export_templates'] = 'pma__export_templates';

Después de esto, PHPMyAdmin se actualiza con éxito y las funciones extendidas están habilitadas. Espero que esto ayude a otros.

    
respondido por el Robin Wilson 23.12.2015 - 19:08
4

En el momento de esta respuesta (febrero de 2017), en Ubuntu 16.04 LTS, ahora es posible instalar php 7.0. * con el sencillo comando:

apt-get install php

No es necesario agregar repositorios de terceros.

    
respondido por el Leo Galleguillos 02.02.2017 - 03:07
3

Creo que el ppa se ha agregado en 16.04 LTS.

  1. Simplemente haz sudo apt-get install php7.0 y listo.
  2. Compruebe si se instaló ejecutando php --version
  3. Además, puede crear el archivo info.php en la raíz del documento de Apache.
  4. Eso está en el directorio /var/www/html/
  5. Ejecutar sudo gedit /var/www/html/info.php
  6. Agregue lo siguiente al archivo: <?php phpinfo(); ?> . Nota: el archivo es un archivo en blanco ya que lo creó usted mismo.
  7. Ahora reinicia apache sudo service apache2 restart
  8. En su navegador web, http://localhost/info.php que le dará información completa sobre php.

Espero que esto ayude:)

    
respondido por el Collin 11.08.2016 - 10:35
2

Recopilé algunos recursos diferentes y resolví muchos problemas para configurar completamente una compilación de PHP 7 en Ubuntu 15.04 y 15.10. Aunque no es una secuencia de comandos del paquete Debian, configura las dependencias y la configuración de Ubuntu. Los recursos se pueden encontrar aquí .

Es posible que deba seleccionar una rama de versión en lugar de la maestra y vuelva a ejecutar la secuencia de comandos.

    
respondido por el m1st0 20.01.2016 - 21:29
2

Sé que esto puede ser una mala idea, pero así es como logré que php7 funcionara con mi instalación de Ubuntu Server 12.04.5 (i386):

sudo nano /etc/apt/sources.list

A continuación, agregue lo siguiente al final:

deb http://us.archive.ubuntu.com/ubuntu/ trusty main restricted universe multiverse
deb http://archive.canonical.com/ubuntu trusty partner

Luego actualiza como lo harías normalmente:

sudo apt-get update

Una vez que tenga PHP 7 instalado en su servidor apache, es posible que deba mover sus archivos a un nuevo directorio para que funcione:

sudo mv /var/www/* /var/www/html/
    
respondido por el KimChoJapFan 19.01.2017 - 06:12

Lea otras preguntas en las etiquetas