web-dev-qa-db-fra.com

502 Bad Gateway nginx php7 fpm

J'ai essayé d'installer nginx et PHP7 avec fpm en utilisant ce tutorail https://www.digitalocean.com/community/tutorials/how-to-upgrade-to-php-7-on-ubuntu-14-04

Quand j'essaye d'accéder à n'importe quel fichier php, je reçois 502 Bad Gateway et quand j'essaye de redémarrer php7.0-fpm, j'obtiens ceci:

Sudo service php7.0-fpm restart
stop: Unknown instance: 
php7.0-fpm start/running, process 5379

Ma configuration nginx:

location ~ \.php$ {
    try_files $uri =404;
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
}

Mon serveur est Ubuntu Server 14.04

5
user320641

Il est probable qu'un ancien libpcre3 soit installé et réponde à la dépendance du paquet php7.0, mais seul le paquet le plus récent de la bibliothèque fournit pcre_jit_stack_free.

Si tel est le cas, faites un apt-get install libpcre3 et vous êtes prêt à partir.

Réf .: https://github.com/oerdnj/deb.sury.org/issues/372

1
Bjørn Johansen

Essayez de vérifier le fichier www.conf de votre nginx et assurez-vous que le chemin du socket est correct et que le fichier de socket est présent à cet emplacement pendant l'exécution de ces services.

c'est-à-dire /var/run/php/php7.0-fpm.sock ou

/dev/shm/php-fpm-www.sock

essayez de démarrer php-fpm depuis init.d

/etc/init.d/php-7.0.0-fpm start

et vérifiez votre fichier php.ini aussi

ajoutez ce qui suit à la fin du fichier

[apc]
apc.write_lock = 1
apc.slam_defense = 0
4
sreejith K B

Je me battais littéralement contre cela depuis des jours quand j'ai trouvé la solution. C'était une faute de frappe dans /etc/nginx/sites-available/www (copié à l'origine de ... sites-available/default et modifié).

J'avais oublié cela dans le fichier lui-même et dans le /var/log/nginx/error.log - même si le journal des erreurs était vide

connect to unix: /var/run/php/php7.0-fpm-sock failed (2: No such file or directory)

La ligne de connexion doit avoir lu unix: /var/run/php/php7.0-fpm.sock.

Duh.

1
user721265

J'ai installé à partir d'un guide qui utilisait php7.0-fpm-sock, que j'ai copié et collé dans nginx.conf. Le changement de php7.2-fpm-sock a résolu le problème pour moi. Aurait commenté, mais je ne peux pas encore le faire.

0
uberdave