[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: MAJ Jessie : php-fpm ne fonctionne plus




Le 11 mai 15 à 01:40, Philippe Gras a écrit :


Le 10 mai 15 à 23:06, Michel a écrit :

Bonjour,

Je viens de faire la mise à jour de mon serveur de wheezy à jessie et je n'arrive plus à faire fonctionner php-fpm avec nginx.
Les deux services (nginx et php-fpm) sont bien démarrés, mais rien ne s'affiche dans mon navigateur (j'ai une réponse 200 avec un payload http vide).

Maintenant que j'y songe, j'ai déjà rencontré ce problème, tout au début.
J'ai un peu bidouillé les fichiers NginX et PHP-FPM, et j'ai ça à présent :
:~# vi /etc/nginx/fastcgi_params
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
fastcgi_param   QUERY_STRING            $query_string;
fastcgi_param   REQUEST_METHOD          $request_method;
fastcgi_param   CONTENT_TYPE            $content_type;
fastcgi_param   CONTENT_LENGTH          $content_length;
# manque cette ligne chez toi :
fastcgi_param   SCRIPT_FILENAME         $request_filename;

fastcgi_param   SCRIPT_NAME             $fastcgi_script_name;
fastcgi_param   REQUEST_URI             $request_uri;
fastcgi_param   DOCUMENT_URI            $document_uri;
fastcgi_param   DOCUMENT_ROOT           $document_root;
fastcgi_param   SERVER_PROTOCOL         $server_protocol;
# Je n'ai pas le HTTPS par contre…
fastcgi_param   GATEWAY_INTERFACE       CGI/1.1;
fastcgi_param   SERVER_SOFTWARE         nginx/$nginx_version;

fastcgi_param   REMOTE_ADDR             $remote_addr;
fastcgi_param   REMOTE_PORT             $remote_port;
fastcgi_param   SERVER_ADDR             $server_addr;
fastcgi_param   SERVER_PORT             $server_port;
fastcgi_param   SERVER_NAME             $server_name;

fastcgi_param   HTTPS                   $https if_not_empty;

# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param   REDIRECT_STATUS         200;

# fastcgi_split_path_info ^(.+\.php)(.*)$;
# fastcgi_param PATH_INFO $fastcgi_path_info;
# fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
# fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
:~# vi /etc/nginx/sites-available/xyz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
        location ~ \.php$ {
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
        #       # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
        #
        #       # With php5-cgi alone:
        #       fastcgi_pass 127.0.0.1:9000;
        #       # With php5-fpm:
                fastcgi_pass unix:/var/run/php5-fpm.sock;
                fastcgi_index index.php;
                fastcgi_read_timeout 150s;
                include fastcgi_params;
#        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        }
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


J'ai essayé en arrêtant php-fpm et là j'obtiens une erreur, donc je présume que le problème viens de php-fpm, mais je n'ai aucune erreur dans ses logs. J'ai passé son niveau de log de notice à "debug" et j'ai quelques messages de log en plus, mais rien de très probant...

J'ai un peu épuisé mes options, le lien entre nginx et php-fpm se fait via un socket unix (c'était déjà le cas avant la mise à jour), je vais essayer de passer à une socket tcp pour pouvoir sniffer la communication entre php et nginx avec tcpdump, mais c'est vraiment en déespoire de cause.

Vous auriez une idée d'où ça peut venir ? J'ajoute en dessous tous les fichiers de conf et les logs qui me semblent pertinents.

Je suis sous NginX / PHP-FMP aussi, et quand Jessie est sortie (sans rien dire à personne),
je suis immédiatement allé voir si des paquets Dotdeb étaient prêts pour la mise à jour.

Ce n'est pas le cas, mais tu aurais dû avoir un message avec l'upgrade s'il y avait un défaut.

Dans l'attente, j'ai un peu fureté à droite et à gauche et me suis aperçu qu'on proposait aussi
des configurations sans passer par Dotdeb.

Comme j'ai d'autres soucis par ailleurs et que je flaire le coup fourré, je me suis abstenu pour
faire un upgrade. Parce que j'ai déjà eu de gros pépins une fois avec le NginX de Debian.

Si ça peut t'arranger le temps de trouver une solution, je peux t'héberger un moment. Mais j'ai
peur de ne pas avoir de réponse technique à une cata que je subodorais avec cette nouvelle
version de Debian, comme à chaque fois que ça change d'ailleurs…


La configuration php de mon nginx (c'est un fichier que j'inclue dans les fichiers de description des sites.

> location ~ \.php$ {
>         fastcgi_split_path_info ^(.+\.php)(/.+)$;
>                
>         fastcgi_pass unix:/var/run/php5-fpm.sock;
>         fastcgi_index index.php;
>         include fastcgi_params;
> }

Le contenus du fichier fastcgi_params :

> fastcgi_param  QUERY_STRING       $query_string;
> fastcgi_param  REQUEST_METHOD     $request_method;
> fastcgi_param  CONTENT_TYPE       $content_type;
> fastcgi_param  CONTENT_LENGTH     $content_length;
>
> fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
> fastcgi_param  REQUEST_URI        $request_uri;
> fastcgi_param  DOCUMENT_URI       $document_uri;
> fastcgi_param  DOCUMENT_ROOT      $document_root;
> fastcgi_param  SERVER_PROTOCOL    $server_protocol;
> fastcgi_param  HTTPS              $https if_not_empty;
>
> fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
> fastcgi_param  SERVER_SOFTWARE    nginx/$nginx_version;
>
> fastcgi_param  REMOTE_ADDR        $remote_addr;
> fastcgi_param  REMOTE_PORT        $remote_port;
> fastcgi_param  SERVER_ADDR        $server_addr;
> fastcgi_param  SERVER_PORT        $server_port;
> fastcgi_param  SERVER_NAME        $server_name;
>
> # PHP only, required if PHP was built with --enable-force-cgi-redirect
> fastcgi_param  REDIRECT_STATUS    200;

> # grep -v '^;' /etc/php5/fpm/php-fpm.conf | grep '..' # pour virer les lignes inutiles (commentaires et lignes vides)
> [global]
> pid = /run/php5-fpm.pid
> error_log = /var/log/php5-fpm.log
> syslog.ident = php-fpm
> log_level = debug
> emergency_restart_threshold = 10
> emergency_restart_interval = 1m
> process_control_timeout = 10
> include=/etc/php5/fpm/pool.d/*.conf

Dans /etc/php5/fpm/pool.d/ je n'ai que le fichier :

> # grep -v '^;' /etc/php5/fpm/pool.d/www.conf | grep '..'
> [www]
> user = www-data
> group = www-data
> listen = /var/run/php5-fpm.sock
> listen.owner = www-data
> listen.group = www-data
> pm = dynamic
> pm.max_children = 5
> pm.start_servers = 2
> pm.min_spare_servers = 1
> pm.max_spare_servers = 3
> chdir = /
> php_flag[display_errors] = off
> php_admin_value[error_log] = /var/log/fpm-php.www.log
> php_admin_flag[log_errors] = on
> php_admin_value[memory_limit] = 32M

Enfin le fichier php.init : https://gist.github.com/barmic/2ba698313707090f780f

Enfin le fichier de log de php-fpm et celui de l'un de mes sites :

> [08-May-2015 13:35:46] NOTICE: Finishing ...
> [08-May-2015 13:35:46] NOTICE: exiting, bye-bye!
> [08-May-2015 13:58:12] NOTICE: configuration file /etc/php5/fpm/php-fpm.conf test is successful
>
> [08-May-2015 13:58:12] NOTICE: fpm is running, pid 24017
> [08-May-2015 13:58:12] NOTICE: ready to handle connections
> [08-May-2015 13:58:12] NOTICE: systemd monitor interval set to 10000ms
> [08-May-2015 13:58:33] NOTICE: Finishing ...
> [08-May-2015 13:58:33] NOTICE: exiting, bye-bye!
> [08-May-2015 13:58:33] NOTICE: fpm is running, pid 26013
> [08-May-2015 13:58:33] NOTICE: ready to handle connections
> [08-May-2015 13:58:33] NOTICE: systemd monitor interval set to 10000ms
> [08-May-2015 13:58:34] NOTICE: configuration file /etc/php5/fpm/php-fpm.conf test is successful

================================================

> 127.0.0.1 - - [09/May/2015:14:35:41 +0200] "GET /doku.php HTTP/1.1" 200 31 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:36.0) Gecko/20100101 Firefox/36.0 Iceweasel/36.0.4"
> 127.0.0.1 - - [09/May/2015:14:36:35 +0200] "GET /doku.dlksjlk HTTP/1.1" 404 142 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:36.0) Gecko/20100101 Firefox/36.0 Iceweasel/36.0.4"
> 127.0.0.1 - - [09/May/2015:14:37:00 +0200] "GET /doku.php HTTP/1.1" 502 172 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:36.0) Gecko/20100101 Firefox/36.0 Iceweasel/36.0.4"
> 127.0.0.1 - - [09/May/2015:14:40:28 +0200] "GET /doku.php HTTP/1.1" 200 31 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:36.0) Gecko/20100101 Firefox/36.0 Iceweasel/36.0.4"
> 127.0.0.1 - - [09/May/2015:17:54:00 +0200] "GET /doku.php HTTP/1.1" 200 31 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:36.0) Gecko/20100101 Firefox/36.0 Iceweasel/36.0.4"
> 127.0.0.1 - - [09/May/2015:17:54:02 +0200] "GET /doku.php HTTP/1.1" 200 31 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:36.0) Gecko/20100101 Firefox/36.0 Iceweasel/36.0.4"
> 127.0.0.1 - - [09/May/2015:17:56:23 +0200] "GET /doku.php HTTP/1.1" 200 31 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:36.0) Gecko/20100101 Firefox/36.0 Iceweasel/36.0.4"
> 127.0.0.1 - - [09/May/2015:17:56:24 +0200] "GET /doku.php HTTP/1.1" 200 31 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:36.0) Gecko/20100101 Firefox/36.0 Iceweasel/36.0.4"
> 127.0.0.1 - - [09/May/2015:17:56:24 +0200] "GET /doku.php HTTP/1.1" 200 31 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:36.0) Gecko/20100101 Firefox/36.0 Iceweasel/36.0.4"
> 127.0.0.1 - - [09/May/2015:17:56:24 +0200] "GET /doku.php HTTP/1.1" 200 31 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:36.0) Gecko/20100101 Firefox/36.0 Iceweasel/36.0.4"
> 127.0.0.1 - - [09/May/2015:17:56:24 +0200] "GET /doku.php HTTP/1.1" 200 31 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:36.0) Gecko/20100101 Firefox/36.0 Iceweasel/36.0.4"
> 127.0.0.1 - - [09/May/2015:17:56:25 +0200] "GET /doku.php HTTP/1.1" 200 31 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:36.0) Gecko/20100101 Firefox/36.0 Iceweasel/36.0.4"
> 127.0.0.1 - - [09/May/2015:18:08:37 +0200] "GET /doku.php HTTP/1.1" 200 31 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:36.0) Gecko/20100101 Firefox/36.0 Iceweasel/36.0.4"
> 127.0.0.1 - - [09/May/2015:22:21:01 +0200] "GET /doku.php HTTP/1.1" 200 31 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:36.0) Gecko/20100101 Firefox/36.0 Iceweasel/36.0.4"
> 127.0.0.1 - - [09/May/2015:22:21:03 +0200] "GET /doku.php HTTP/1.1" 200 31 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:36.0) Gecko/20100101 Firefox/36.0 Iceweasel/36.0.4"
--
_____________________
Michel BARRET



Reply to: