123 votes

Comment installer PHP 7 ?

PHP 7 est sorti hier et je voudrais l'essayer.

PHP 7.0.0 est livré avec une nouvelle version du Zend Engine, de nombreuses améliorations et de nouvelles fonctionnalités telles que

  • Amélioration des performances : PHP 7 est jusqu'à deux fois plus rapide que PHP 5.6.
  • Réduction significative de l'utilisation de la mémoire
  • Arbre syntaxique abstrait
  • Un support 64 bits cohérent
  • Amélioration de la hiérarchie des exceptions
  • De nombreuses erreurs fatales converties en exceptions
  • Générateur de nombres aléatoires sécurisé
  • Suppression des SAPI et des extensions anciennes et non prises en charge.
  • L'opérateur de coalescence nul ( ??)
  • Déclarations des types de retour et scalaires
  • Classes anonymes
  • Le coût zéro affirme

php.net


Est-il possible de l'installer sur la version actuelle d'Ubuntu ?

Existe-t-il des limitations actuelles ou des problèmes de compatibilité connus ?

185voto

Tshilidzi Mudau Points 4095

Vous pouvez procéder comme suit :

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

En option, purgez PHP 5 :

sudo apt-get remove php5-common -y

Ou le purger directement, y compris les fichiers de configuration :

sudo apt-get purge php5-common -y

Et enfin, installez PHP 7 :

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

Si vous le souhaitez, vous pouvez nettoyer les paquets inutiles par la suite :

sudo apt-get --purge autoremove -y

Vous pouvez également installer PHP 7.0 à partir des sources en utilisant ce script. script ou en suivant les instructions sur ce blog .

EDIT:

PHP5 a maintenant été a remplacé avec PHP7 comme PHP par défaut dans Ubuntu 16.4 donc, pour installer PHP7 sur Ubuntu 16.04 :

sudo apt-get install php7.0 

Ou

sudo apt-get install php

22voto

thomasrutter Points 33791

Vous avez deux options :

  • Attendez qu'il y ait une nouvelle version d'Ubuntu qui inclut PHP7.

    Ubuntu ne publie pas de nouvelles versions majeures de la plupart des logiciels pour les versions Ubuntu existantes. Pour obtenir une nouvelle version majeure, il faut attendre une version plus récente d'Ubuntu.

  • Installez une version tierce, par exemple à partir d'un PPA.

    Les PPA ne sont pas liés par les calendriers de publication ou les politiques d'Ubuntu. Ils sont donc libres de changer de version plus fréquemment, entre autres choses. Le PPA mentionné dans la réponse de Tshilidzi Mudau est un moyen populaire de rester plus à jour avec PHP.

    sudo add-apt-repository ppa:ondrej/php

    Les PPA ne bénéficient pas du même support officiel d'Ubuntu que les versions fournies par Ubuntu, et en raison de calendriers et de politiques différents, ils peuvent avoir un niveau de qualité ou de sécurité différent. Dans ce cas, le développeur qui rend ce PPA disponible est bien connu de la communauté ici.

18voto

user441521 Points 1029

Voici ma liste de commandes pour mettre à jour complètement PHP et ses dépendances, y compris phpMyAdmin (pile LAMP complète) :

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

Maintenant vous avez PHP7. Passons à phpMyAdmin : (commencez ici si vous avez déjà installé PHP7)

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

10voto

Jeff Puckett Points 1591

Pour Ubuntu 16.04, PHP7 est maintenant la version amont officielle par défaut.

sudo apt install php

Voici un guide pratique pour la mise en place d'une pile LAMP sur 16.04 .

7voto

Robin Wilson Points 111

Le processus ci-dessus n'a pas fonctionné pour mon serveur Ubuntu 15.10. J'ai donc pensé que je pourrais partager ce qui a fonctionné au cas où d'autres personnes trouveraient cela utile.

J'ai d'abord dû supprimer certains modules clés 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

Ensuite, enlevez quelques objets supplémentaires qui ont été laissés derrière vous :

sudo apt-get autoremove

Installez ensuite PHP 7.0 :

sudo apt-get install php7.0

Ensuite, lorsque PHPMyAdmin a été supprimé, Apache2 ne démarrait pas et j'ai dû supprimer le fichier de configuration (j'aurais pu le déplacer à la place) :

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

Puis j'ai dû redémarrer Apache2 :

sudo service apache2 restart

PHP 7.0 était alors en cours d'exécution (confirmé par l'option PHPINFO(); )

Cependant, j'ai constaté que le seul moyen de faire fonctionner PHPMyAdmin est de l'installer/mettre à jour manuellement, car la dernière version disponible dans les sources ne supporte pas encore PHP 7.

**EDIT : J'ai maintenant trouvé un moyen d'obtenir la mise à jour de PHPMyAdmin vers une version compatible sans avoir à cloner depuis GIT ou à compiler manuellement depuis les sources. Je l'ajoute donc ci-dessous :

Ajoutez d'abord ce dépôt, mettez à jour la liste des sources et mettez à jour (NB : s'il a été supprimé lors de la mise à jour vers PHP7, vous devrez l'installer plutôt que le mettre à jour) :

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

Cependant, pendant l'installation (sur mon serveur), il a dû exécuter une mise à jour de la base de données script. upgrade_column_info_4_3_0+.sql mais cela a échoué avec l'erreur suivante :

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

J'ai choisi d'ignorer l'erreur et de terminer la mise à niveau. Après l'installation, j'ai ouvert le script de mise à niveau .sql script à l'adresse suivante /usr/share/phpmyadmin/sql/upgrade_column_info_4_3_0+.sql

J'ai exécuté le script en supprimant manuellement les deux lignes incriminées qui tentaient de créer 2 colonnes qui existaient déjà (code à supprimer) :

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 '';

Finalement, j'ai dû modifier le fichier de configuration à /etc/phpmyadmin/config.inc.php et ajoutez les deux lignes suivantes :

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

Après cela, PHPMyAdmin est mis à jour avec succès et les fonctions étendues sont activées. J'espère que cela aidera d'autres personnes.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X