Migrer de mod_php / php5 à php-fpm / php7 sous Ubuntu
Dans la continuité de ce que j'ai fait hier, voici le résumé des étapes que j'ai suivies pour passer de PHP5 / mod_php à PHP7 / php-fpm sous Ubuntu et Apache2.
D'abord installer le PPA qui va bien sudo add-apt-repository ppa:ondrej/php
Ensuite faire sudo apt-get update && sudo apt-get remove php5-* && sudo apt-get --purge autoremove
(assez bourrin mais au moins je suis sûr de ne pas être embêté au moment d'installer php7)
Ne pas oublier d'arrêter php5-fpm le cas échéant.
Ensuite sudo apt-get install php7.0
Arrêter apache et php-fpm avec sudo service apache2 stop && sudo service php7.0-fpm stop
Éditer le fichier /etc/php/7.0/fpm/pool.d/www.conf et y mettre listen = 127.0.0.1:9000
- cf l'article de SebOss
Ne pas oublier d'installer les modules de PHP dont on peut avoir besoin à coup de sudo apt-get install php7.0-le_module_voulu
Si mod_fastcgi n'est pas installé, faire sudo apt-get install libapache2-mod-fastcgi
puis éditer le fichier /etc/apache2/mods-available/fastcgi.conf et mettre
<IfModule mod_fastcgi.c>
FastCGIExternalServer /usr/sbin/php-fpm7.0 -host 127.0.0.1:9000
AddHandler php7-fastcgi .php
Action php7-fastcgi /usr/sbin/php-fpm.fcgi
ScriptAlias /usr/sbin/php-fpm.fcgi /usr/sbin/php-fpm7.0
<Directory /usr/sbin>
Options ExecCGI FollowSymLinks
SetHandler fastcgi-script
Order allow,deny
Allow from all
</Directory>
</IfModule>
Faire sudo a2enmod actions && sudo a2enmod fastcgi
Éditer le fichier /etc/apache2/apache2.conf et commenter les lignes ayant des "AllowOverride None" et "require all granted"
Faire sudo service php7.0-fpm start && sudo service apache2 start
Bonus
Pour Symfony2, ne pas oublier d'installer php7.0-xml, php7.0-intl, php7.0-json et le module correspondant à la base de données de son choix. Ne pas oublier non plus d'indiquer dans les php.ini de cli et fpm la directive correspondant à la timezone.
Pour phpMyAdmin, les étapes sont les suivantes, d'après ce post de StackOverflow - réponse du 23 décembre 2015 à 18h08 de Robin Wilson : sudo add-apt-repository ppa:nijel/phpmyadmin && sudo apt-get update && sudo apt-get dist-upgrade
Si vous avez suivi à la lettre ce que j'ai écrit plus haut, phpMyAdmin a été désinstallé, il faut donc faire sudo apt-get install phpmyadmin
. Vous obtiendrez une erreur lors de la reconfiguration, choisissez "ignorer". Ensuite, faites mysql -uutilisateur -pmot_de_passe < /usr/share/phpmyadmin/sql/create_tables.sql
. Enfin, ne pas oublier d'installer php-gettext par sudo apt-get install php-gettext