web-dev-qa-db-fra.com

Faire nginx utiliser php7.2

J'ai mis à niveau PHP de la version 7.0.27 à 7.2 sur Ubuntu16.04 avec nginx.

PHP 7.0 à PHP 7.2 - Comment mettre à jour votre serveur

Quand je lance php -v sur un terminal, je peux voir:

PHP 7.2.2-3+ubuntu16.04.1+deb.sury.org+1 (cli) (built: Feb  6 2018 16:11:23) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.2.2-3+ubuntu16.04.1+deb.sury.org+1, Copyright (c) 1999-2018, by Zend Technologies
with Xdebug v2.6.0, Copyright (c) 2002-2018, by Derick Rethans

Mais quand je vois dans le navigateur faisant écho phpinfo (), il montre l'ancienne version de PHP comme:

PHP Version 7.0.27-1+ubuntu16.04.1+deb.sury.org+1

Cela signifie que nginx n’utilise pas PHP 7.2 où je dois configurer pour cela. S'il vous plaît, toute aide est appréciée.

Merci d'avance.

4
bhattraideb

Pour augmenter la réponse de Thomas, voici le fichier que vous devez modifier:

Sudo nano /etc/nginx/sites-available/default

ou si vous utilisez plusieurs sites sur un seul nginx:

Sudo nano /etc/nginx/sites-available/your_site_name

changer cette partie

server {

    ...

    location ~ \.php$ {
        ...
        fastcgi_pass unix:/run/php/php7.2-fpm.sock;
    }

    ...
}

php7.0-fpm.sock à php7.2-fpm.sock

4
Arthur Tarasov

Lorsque vous configurez php7.2-fpm, vous devez également ajuster la configuration de NGINX pour indiquer où pointer réellement vers où router les demandes PHP.

Dans votre nginx, vous avez probablement fastcgi_pass unix:/run/php/php7.0-fpm.sock; pour PHP 7.0. Vous devez le mettre à jour pour qu'il corresponde à fastcgi_pass unix:/run/php/php7.2-fpm.sock; et installer php7.2-fpm également.

Et puis redémarrez nginx juste au cas où pour actualiser les configurations, et cela devrait fonctionner correctement avec PHP 7.2.

3
Thomas Ward