web-dev-qa-db-fra.com

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 moteur Zend Engine, de nombreuses améliorations et de nouvelles fonctionnalités telles que

  • Amélioration des performances: PHP 7 est deux fois plus rapide que PHP 5.6
  • Utilisation de la mémoire considérablement réduite
  • Arbre de syntaxe abstraite
  • Prise en charge cohérente en 64 bits
  • Hiérarchie des exceptions améliorée
  • De nombreuses erreurs fatales converties en exceptions
  • Générateur de nombres aléatoires sécurisé
  • SAPI et extensions anciennes et non prises en charge supprimées
  • L'opérateur de coalescence nul (??)
  • Retour et déclarations de type scalaire
  • Classes Anonymes
  • Zéro coût affirme

php.net


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

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

115
hg8

Vous pouvez faire ce qui 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

Purger éventuellement PHP 5:

Sudo apt-get remove php5-common -y

Ou purgez-le directement, y compris les fichiers de configuration:

Sudo apt-get purge php5-common -y

Et enfin installer PHP 7:

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

En option, nettoyez les paquets inutiles après:

Sudo apt-get --purge autoremove -y

Vous pouvez également installer PHP 7.0 à partir de sources à l'aide de ce script script ou des instructions suivantes sur cette blog .

EDIT:

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

Sudo apt-get install php7.0 

Ou

Sudo apt-get install php
180
Tshilidzi Mudau

Vous avez deux options:

  • Attendez qu'il y ait une nouvelle version d'Ubuntu incluant PHP7

    Ubuntu ne publiera pas de nouvelles versions majeures de la plupart des logiciels pour les versions existantes d’Ubuntu; pour obtenir une nouvelle version majeure, vous devez attendre la dernière version d'Ubuntu.

  • Installer une version tierce, telle qu’à 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 souvent, entre autres. 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 n'offrent pas le même support officiel Ubuntu officiel que les versions fournies par Ubuntu et, en raison de calendriers et de politiques différentes, ils peuvent être de normes de qualité ou de sécurité différentes. Dans ce cas, le développeur qui rend ce PPA disponible est bien connu de la communauté ici.

21
thomasrutter

Voici ma liste de commandes pour mettre à jour complètement PHP avec 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. Allons-y pour 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
18
Jarek Jakubowski

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

Sudo apt install php

Voici n guide pratique pour configurer une pile LAMP le 16.04 .

10
Jeff Puckett

Le processus ci-dessus n'a pas fonctionné pour mon serveur Ubuntu 15.10, j'ai donc pensé partager ce qui fonctionnait si d'autres le trouvaient utile.

J'ai d'abord dû supprimer certains modules 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, supprimez quelques éléments supplémentaires qui ont été laissés:

Sudo apt-get autoremove

Ensuite, installez PHP 7.0:

Sudo apt-get install php7.0

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

Sudo rm /etc/Apache2/conf-enabled/phpmyadmin.conf

Ensuite, j'ai dû redémarrer Apache2:

Sudo service Apache2 restart

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

Cependant, j’ai trouvé que le seul moyen de faire fonctionner PHPMyAdmin est de l’installer/de le mettre à niveau manuellement. Sinon, la dernière version disponible dans les sources ne prend pas encore en charge PHP 7.

** EDIT: J'ai maintenant trouvé un moyen d'obtenir une mise à jour de PHPMyAdmin vers une version compatible sans avoir à cloner à partir de GIT ou à compiler manuellement à partir de sources, je rajoute ceci ci-dessous:

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

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

Cependant, lors de l'installation (sur mon serveur), il a fallu exécuter un script de mise à niveau de la base de données 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 à /usr/share/phpmyadmin/sql/upgrade_column_info_4_3_0+.sql

J'ai exécuté le script manuellement en supprimant les deux lignes incriminées en essayant de créer 2 colonnes déjà existantes (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û éditer le fichier de configuration à /etc/phpmyadmin/config.inc.php et ajouter 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 correctement mis à jour et les fonctionnalités étendues sont activées. J'espère que cela aide les autres.

7
Robin Wilson

Au moment de cette réponse (février 2017), sur Ubuntu 16.04 LTS, il est maintenant possible d'installer php 7.0. * Avec la commande simple:

apt-get install php

Pas besoin d'ajouter de référentiels tiers.

4
Leo Galleguillos

Je pense que le ppa a été ajouté dans 16.04 LTS.

  1. Il suffit simplement de faire Sudo apt-get install php7.0 et le tour est joué.
  2. Vérifiez s'il est installé en exécutant php --version
  3. De plus, vous pouvez créer le fichier info.php dans le répertoire racine du document Apache.
  4. C'est dans le répertoire /var/www/html/
  5. Exécutez Sudo gedit /var/www/html/info.php
  6. Ajoutez ce qui suit au fichier: <?php phpinfo(); ?>. Remarque: le fichier est vide car vous l'avez créé vous-même.
  7. Maintenant redémarrez Apache Sudo service Apache2 restart
  8. Dans votre navigateur Web, http://localhost/info.php vous donnera des informations complètes sur php.

J'espère que cela t'aides :)

3
Collin

J'ai rassemblé quelques ressources différentes et résolu de nombreux problèmes pour configurer complètement une version de PHP 7 sur Ubuntu 15.04 et 15.10. Bien qu'il ne s'agisse pas d'un script de package Debian, il configure les dépendances et la configuration d'Ubuntu. Les ressources peuvent être trouvées ici .

Vous devrez peut-être sélectionner une branche de publication sur maître uniquement et réexécuter le script.

2
m1st0

Je sais que c'est peut-être une mauvaise idée, mais c'est comme ça que j'ai fait fonctionner php7 avec mon installation d'Ubuntu Server 12.04.5 (i386):

Sudo nano /etc/apt/sources.list

Puis ajoutez ce qui suit à la fin:

 deb http://us.archive.ubuntu.com/ubuntu/ trusty principal univers restreint restreint 
 deb http://archive.canonical.com/ubuntu partenaire de confiance 

Puis mettez à jour comme vous le feriez normalement:

Sudo apt-get update

Une fois que vous avez installé PHP 7 sur votre serveur Apache, vous devrez peut-être déplacer vos fichiers dans un nouveau répertoire pour pouvoir fonctionner:

Sudo mv/var/www/*/var/www/html /
2
KimChoJapFan