Comment installer PHP 7?

108

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

PHP 7.0.0 comes with a new version of the Zend Engine, numerous improvements and new features such as

  • Improved performance: PHP 7 is up to twice as fast as PHP 5.6
  • Significantly reduced memory usage
  • Abstract Syntax Tree
  • Consistent 64-bit support
  • Improved Exception hierarchy
  • Many fatal errors converted to Exceptions
  • Secure random number generator
  • Removed old and unsupported SAPIs and extensions
  • The null coalescing operator (??)
  • Return and Scalar Type Declarations
  • Anonymous Classes
  • Zero cost asserts

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?

    
posée hg8 04.12.2015 - 15:13
la source

9 réponses

173

Vous pouvez effectuer les opérations suivantes:

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 PHP 5 éventuellement:

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

Nettoyez éventuellement les packages inutiles par la suite:

sudo apt-get --purge autoremove -y

Vous pouvez également installer PHP 7.0 depuis des sources en utilisant ce script script ou en suivant les instructions de cette blog .

EDIT:

PHP5 a été 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
    
réponse donnée Tshilidzi Mudau 04.12.2015 - 15:52
la source
20

Vous avez deux options:

  • Attendez la publication d'une nouvelle version d'Ubuntu incluant PHP7

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

  • Installez une version tierce, telle qu'un PPA

    Les PPA ne sont pas liés par les calendriers de publication ni 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 stratégies différentes, ils peuvent être de normes de qualité ou de sécurité différentes. Dans ce cas, le développeur qui a mis ce PPA à la disposition du public est bien connu de la communauté.

réponse donnée thomasrutter 06.12.2015 - 14:00
la source
17

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
    
réponse donnée Jarek Jakubowski 25.01.2016 - 12:22
la source
10

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

sudo apt install php

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

    
réponse donnée Jeff Puckett 13.07.2016 - 01:13
la source
6

Le processus ci-dessus n'a pas fonctionné sur 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 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

Supprimez ensuite quelques éléments supplémentaires:

sudo apt-get autoremove

Installez ensuite 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 / le mettre à niveau manuellement, sinon la dernière version disponible dans les sources ne prend pas encore PHP 7 en charge.

** 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 deux 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 cette mise à jour, PHPMyAdmin a été mis à jour et les fonctionnalités étendues sont activées. J'espère que cela aide les autres.

    
réponse donnée Robin Wilson 23.12.2015 - 19:08
la source
4

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

Inutile d'ajouter des référentiels tiers.

    
réponse donnée Leo Galleguillos 02.02.2017 - 03:07
la source
3

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

  1. Il suffit de faire sudo apt-get install php7.0 et le tour est joué.
  2. Vérifiez s'il a été installé en exécutant php --version
  3. Vous pouvez également créer le fichier info.php dans le répertoire racine du document d'Apache.
  4. C'est dans le répertoire /var/www/html/
  5. Exécuter sudo gedit /var/www/html/info.php
  6. Ajoutez ce qui suit dans le fichier: <?php phpinfo(); ?> . Remarque: le fichier est vide puisque vous l'avez créé vous-même.
  7. Redémarrez maintenant 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 vous aidera:)

    
réponse donnée Collin 11.08.2016 - 10:35
la source
2

J'ai rassemblé quelques ressources différentes et résolu de nombreux problèmes pour installer 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 .

Il se peut que vous deviez sélectionner une branche de publication plutôt que simplement maître et réexécuter le script.

    
réponse donnée m1st0 20.01.2016 - 21:29
la source
2

Je sais que cela peut être une mauvaise idée, mais voici comment j'ai fait fonctionner php7 avec mon installation d'Ubuntu Server 12.04.5 (i386):

sudo nano /etc/apt/sources.list

Ajoutez ensuite le texte suivant à la fin:

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

Mettez ensuite à jour comme vous le feriez normalement:

sudo apt-get update

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

sudo mv /var/www/* /var/www/html/
    
réponse donnée KimChoJapFan 19.01.2017 - 06:12
la source

Lire d'autres questions sur les étiquettes