Sous Debian « Squeeze », depuis que j’avais migré mes sites Apache HTTPd/PHP de mod_php5 à mod_fastcgi + php5-fpm, j’avais de temps en temps des erreurs du type:
[...] [error] [client x.x.x.x] (4)Interrupted system call: FastCGI: comm with server "/usr/lib/cgi-bin/php5-fcgi" aborted: select() failed [...] [error] [client x.x.x.x] FastCGI: incomplete headers (0 bytes) received from server "/usr/lib/cgi-bin/php5-fcgi"
Après quelques recherches, il s’est avéré que c’est un bug de mod_fastcgi corrigé dans la version 2.4.7 (Debian GNU/Linux 6.0 « Squeeze » est en version 2.4.6).
Le plus sûr pour mettre à jour vers la version 2.4.7 fût de re-compiler et d’installer le module Apache à la façon Debian.
Voici ma procédure:
Installer les paquets nécessaires à la compilation du module:
$ sudo apt-get install build-essential debhelper cdbs apache2-threaded-dev dpatch libapr1-dev libtool pkg-config
Ajouter la source de sources (!) testing pour APT:
$ sudo vi /etc/apt/sources.list (...) deb-src http://ftp.fr.debian.org/debian/ testing main contrib non-free
Mettre à jour la liste des paquets:
$ sudo apt-get update
Récupérer les sources de mod_fastcgi:
$ apt-get source libapache2-mod-fastcgi
Aller dans le répertoire des sources:
$ cd libapache-mod-fastcgi-2.4.7~0910052141
Compiler le module et créer un paquet:
$ fakeroot dpkg-buildpackage
Installer le paquet créé:
$ sudo dpkg -i ../libapache2-mod-fastcgi_2.4.7~0910052141-1_amd64.deb
Recharger Apache HTTPd:
$ sudo service apache2 reload
C’est fini ! Plus d’erreur de ce type.
Avec php-fpm je te suggère de tester Nginx si tu n’as pas besoin d’un module spécifique a Apache.
C’est effectivement une des évolutions que j’envisage.