On Tue, Jan 08, 2019 at 08:30:02AM +0100, Alexis Domjan wrote: > [06-Jan-2019 01:05:03] NOTICE: using inherited socket fd=55, > "/var/lib/php5-fpm/web35.sock" > [06-Jan-2019 01:05:03] NOTICE: using inherited socket fd=55, > "/var/lib/php5-fpm/web35.sock"
Un inherited socket, pour moi, ça peut être deux choses: a) php-fpm a fait un nouveau fork, pour une raison ou une autre (p.ex. rechargement de config ou de script PHP, voir le test que te propose Félix), et a passé un descripteur à sa nouvelle instance (fils) -- pourquoi passerait-il le mauvais ? b) apache2 et php-fpm se passent les sockets de connexion entre processus non-fils: https://keithp.com/blogs/fd-passing/ et il y a mélange -- mais dans ce cas ça serait simplement le mauvais site qui s'afficherait Ici, j'ai l'impression que ton /var/lib/php5-fpm/web35.sock est peut-être justement le système de communication local (UNIX domain socket) qui permet à apache2 et à php-fpm de communiquer et aussi de se passer les sockets de connexion (c'est plus efficace que de faire du proxying). Est-ce que les deux sockets des deux instances php-fpm sont bien différents ? Est-ce que php-fpm est en fait un seul processus qui lance une instance séparée par site ? Quand on lit la doc php-fpm, on voit qu'on peut protéger chacun des sites via chroot (donc le socket doit alors être dans le chroot, et donc une instance séparée php-fpm par client), est-ce ce qui est fait ici? > Quand le problème s'est produit, j'ai regardé ce que disait /proc/*/fd pour > les processus php-fpm de ce pool et j'ai juste vu que le socket n'était pas > le même, mais je ne sais pas comment faire pour connaître le chemin du > socket ouvert par un processus, on peut obtenir cette info ? Plutôt avec netstat. Tiens, puisque j'ai un compte sur une de tes machines, autant l'utiliser: schaefer@platinum:~$ netstat -anp | grep php (Not all processes could be identified, non-owned process info will not be shown, you would have to be root to see it all.) unix 2 [ ACC ] STREAM LISTENING 1613770779 - /run/php/php7.1-fpm.sock unix 2 [ ACC ] STREAM LISTENING 1688082839 - /var/run/php5-fpm.sock A voir oui, les deux sockets sont différents, mais ici pour deux version de PHP; il semblerait qu'il n'y ait qu'un seul socket global pour toutes les instances php5-fpm, et moi je préférerais le chroot. Y-a-t-il toutefois: - un socket par version de php-fpm pour communiquer avec apache2 - un socket pour communiquer entre chaque instance de php-fpm d'une version particulière ? _______________________________________________ gull mailing list gull@forum.linux-gull.ch https://forum.linux-gull.ch/mailman/listinfo/gull