Blog

Problème de page blanche avec nginx et php-fpm

Écrit le 08 11 2016 par Kévin MET _

Ce petit billet est plus un mémo qu'autre chose car cela fait déjà plusieurs fois que je rencontre ce problème et je suis obligé de chercher la solution sur les tréfonds d'internet et ça commence à m'agacer. Il s'agit d'un problème qui est apparu sur Debian jessie en utilisant les paquets dotdeb. Il suffit d'installer nginx et php-fpm (version 5 ou 7) et on rencontre le problème. Cela génère une page blanche lorsque l'on essaye d'appeler un script php. Et dans les logs on a un beau code 200 comme si tout se déroulait bien mais dans le navigateur on a une page blanche. On a rien dans les error_log ou encore dans les logs de php-fpm, bref c'est un peu compliqué de trouver la solution alors sans plus attendre, là voilà :


fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;

Cela permet à php-fpm de savoir où se trouve le script à éxécuter. Selon votre configuration de nginx, vous pouvez l'intégrer à plusieurs endroits. Dans le cas du paquet dotdeb il y a deux fichiers fastcgi.conf et fastcgi_params dans le dossier /etc/nginx et par défaut j'inclue fastcgi_params dans mon bloc location, comme ceci :


location ~ \.php$ {
	fastcgi_pass unix:/run/php/php7.0-fpm-mad-rabbit.com-ssl.sock;
	fastcgi_index index.php;
	include fastcgi_params;
}

Dans mon cas, il suffit donc d'ajouter ce paramètres dans le fichier /etc/nginx/fastcgi_params mais si vous préférez, vous pouvez l'inclure directement dans le bloc location comme cela :


location ~ \.php$ {
	fastcgi_pass unix:/run/php/php7.0-fpm-mad-rabbit.com-ssl.sock;
	fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
	fastcgi_index index.php;
	include fastcgi_params;
}

On oublie pas de reload nginx et ça repart !

Source : https://www.nginx.com/resources/wiki/start/topics/tutorials/config_pitfalls/#fastcgi-path-in-script-filename

♥ Partage sur tes réseaux sociaux ♥
Kévin MET
Kévin MET

Auteur de ce blog et gérant de la société MNT-TECH, je publie sur ce blog lorsque le temps me le permet et lorsqu'un sujet qui me parait intéressant n'a pas encore été abordé en français. Toutes les informations techniques présentes sur cette page peuvent être réutilisées moyennant le fait de citer la source.