PHP 7 est sorti [hier] (http://php.net/archive/2015.php#id2015-12-03-1) et j'aimerais l'essayer.
PHP 7.0.0 est livré avec une nouvelle version du moteur Zend, de nombreuses améliorations et de nouvelles fonctionnalités telles que
- Des performances améliorées : PHP 7 est jusqu'à deux fois plus rapide que PHP 5.6.
- Une utilisation de la mémoire considérablement réduite
- Arbre syntaxique abstrait
- Support cohérent des 64 bits
- Amélioration de la hiérarchie des exceptions De nombreuses erreurs fatales ont été 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 null ( ??)
- Déclarations de type de retour et de type scalaire
- Classes anonymes
- Les assertions à coût nul
Est-il possible de l'installer sur la version actuelle d'Ubuntu ?
Y a-t-il des limitations actuelles ou des problèmes de compatibilité connus ?
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
Purger optionnellement PHP 5 :
sudo apt-get remove php5-common -y
Ou 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
Vous pouvez aussi nettoyer les paquets inutiles par la suite :
sudo apt-get --purge autoremove -y
Alternativement, vous pouvez installer PHP 7.0 à partir des sources en utilisant ce script [script][1] ou en suivant les instructions de ce [blog][2].
EDIT:
PHP5 a été [remplacé][3]par 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
[1] : https://gist.github.com/jaswsinc/d4fc3d3808001c7836fa [2] : http://www.zimuel.it/install-php-7/ [3] : https://www.symfony.fi/entry/php-7-included-in-ubuntu-16-04-lts-xenial-xerus
Vous avez deux options :
Attendre 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, 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 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 à 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 être d'une qualité ou d'un niveau de sécurité différents. Dans ce cas, le développeur qui met ce PPA à disposition est bien connu de la communauté ici.
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, j'ai supprimé quelques éléments supplémentaires qui étaient restés en place :
sudo apt-get autoremove
Puis installez PHP 7.0 :
sudo apt-get install php7.0
Ensuite, comme PHPMyAdmin a été supprimé, Apache2 ne voulait pas démarrer 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
Ensuite, j'ai dû redémarrer Apache2 :
sudo service apache2 restart
PHP 7.0 était alors lancé (confirmé avec 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 de mettre à jour PHPMyAdmin vers une version compatible sans avoir à cloner depuis GIT ou à compiler manuellement depuis les sources, j'ajoute donc ceci 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), le script de mise à jour de la base de données upgrade_column_info_4_3_0+.sql
a dû être exécuté, mais il 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 dans /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 qui essayaient 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 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 mis à jour avec succès et les fonctionnalités étendues sont activées. J'espère que cela aidera d'autres personnes.