Question Comment installer PHP 7?


PHP 7 est sorti hier et je voudrais essayer.

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

  • Performances améliorées: PHP 7 est deux fois plus rapide que PHP 5.6
  • Consommation de mémoire considérablement réduite
  • Arbre de syntaxe abstraite
  • Prise en charge cohérente sur 64 bits
  • 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 d'anciens SAPI et d'extensions non pris en charge
  • L'opérateur de coalescence nulle (??)
  • Déclarations de type retour et scalaire
  • Classes anonymes
  • Des affirmations de coût nul

php.net 


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

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


107
2017-12-04 14:13


origine


Duplicata possible de Comment installer une version de PHP différente (mise à niveau ou rétrogradation) dans la version Ubuntu toujours prise en charge? - muru
PHP 7 est par défaut sur Ubuntu 16, Xenial. - Buttle Butkus


Réponses:


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 é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

Nettoyez éventuellement les packages inutiles après:

sudo apt-get --purge autoremove -y

Alternativement, vous pouvez installer PHP 7.0 à partir de sources en utilisant ce script scénario ou suivant les instructions sur ce Blog.

MODIFIER:

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

sudo apt-get install php7.0 

Ou

sudo apt-get install php

172
2017-12-04 14:52



Qui est responsable du ppa? Est-ce officiellement soutenu par zend? - k0pernikus
@ k0pernikus Zend ne supporte officiellement rien de plus que leur serveur Zend :-) Les paquetages officiels d'Ubuntu sont supportés par les responsables d'Ubuntu. Cette PPA est un effort personnel d'Ondřej Surý. Ondrey est le propriétaire officiel de l'arborescence PHP de Debian, en amont d'Ubuntu. Vois ici: qa.debian.org/developer.php?login=ondrej%40debian.org - Palantir
Quoi qu'il en soit, ses PPA PHP sont très populaires, à tel point que la distribution officielle de Magento annonce la version 5.5 et 5.6: devdocs.magento.com/guides/v2.0/install-gde/prereq/… - Palantir
JFTR memcached n'est pas encore prêt pour PHP 7.0. Je n'ai pas regardé Memcache, en corrigeant encore de plus petits bugs après une réécriture majeure des scripts de packaging. - oerdnj
@Xeridea Essayez sudo apt-get install libapache2-mod-php7.0, puis sudo a2enmod php7.0 puis redémarrez Apache - andrewtweber


Vous avez deux options:

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

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

  • Installer 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 modifier les versions plus fréquemment, 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 ne sont pas fournis avec le même support officiel Ubuntu que les versions fournies par Ubuntu et, en raison de calendriers et de stratégies différents, ils peuvent présenter des normes de qualité ou de sécurité différentes. Dans ce cas, le développeur qui rend cet PPA disponible est bien connu de la communauté ici.


20
2017-12-06 13:00



Et l'option d'installer à partir de la source. - j0h


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

17
2018-01-25 11:22



libapache2-mod-php7.0 est exactement ce dont j'avais besoin, merci! - Jacer Omri


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

sudo apt install php

Voici un guide pratique pour mettre en place une pile LAMP sur 16.04.


10
2017-07-12 23:13





Le processus ci-dessus ne fonctionnait pas pour mon serveur Ubuntu 15.10, alors j'ai pensé partager ce qui fonctionnait au cas où d'autres le trouveraient utile.

J'ai d'abord dû supprimer certains modules PHP 5 clés:

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, retirez quelques objets supplémentaires qui ont été laissés derrière:

sudo apt-get autoremove

Ensuite, installez PHP 7.0:

sudo apt-get install php7.0

Ensuite, lorsque PHPMyAdmin a été retiré, Apache2 ne démarrait pas. 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 fonctionnait alors (confirmé avec PHPINFO();)

Cependant, j'ai trouvé que la seule façon de faire fonctionner PHPMyAdmin est d'installer / mettre à jour manuellement, sinon la dernière version disponible dans les sources ne supporte pas encore PHP 7.

** EDIT: J'ai maintenant trouvé un moyen de mettre PHPMyAdmin à jour avec une version compatible sans avoir à cloner à partir de GIT ou à compiler manuellement à partir de sources. J'ajoute ceci ci-dessous:

Ajoutez d'abord ce dépôt, mettez à jour la liste des sources et effectuez la mise à niveau (NB: s'il a été supprimé lors de la mise à niveau vers PHP7, vous devrez l'installer plutôt que de 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 devait 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 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 '';

Enfin, 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 correctement mis à jour et les fonctionnalités étendues sont activées. J'espère que cela aide les autres.


6
2017-12-23 18:08





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 simple commande:

apt-get install php

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


4
2018-02-02 02:07





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

  1. Simplement faire sudo apt-get install php7.0 et c'est tout.
  2. Vérifiez s'il est installé en cours d'exécution php --version
  3. En outre, vous pouvez créer le info.php fichier dans la racine du document Apache.
  4. C'est dedans /var/www/html/ annuaire
  5. Courir sudo gedit /var/www/html/info.php
  6. Ajoutez ce qui suit au fichier: <?php phpinfo(); ?>. Remarque: le fichier est un fichier vierge puisque 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 cela vous donnera des informations complètes sur php.

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


3
2017-08-11 08:35



Ne dois-je pas l'ajouter à Apache2? - Arlen Beiler
Ce n'est pas un ppa, c'est la version officielle d'ubuntu. - Jeff Puckett


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

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


2
2018-01-20 20:29