Buster nginx phpinfo() blank page

Hello
Je suis passé récemment à Raspbian Buster. En essayant d’installer nginx & php (nginx/1.14.2 and PHP 7.3.11-1) j’obtiens une page blanche quand j’utilise la fonction phpinfo().

Voici ma configuration conf par défault :

Code: Select all

server {
        listen 80 default_server;
        listen [::]:80 default_server;

        root /var/www/html;

        index index.html index.htm index.nginx-debian.html;

        server_name _;

        location / {
                try_files $uri $uri/ =404;
        }

        location ~ \.php$ {
                include snippets/fastcgi-php.conf;
                fastcgi_pass unix:/run/php/php7.3-fpm.sock;
        }
}

Merci de votre aide

Bonjour,

Je ne connais ni php ni ngnix, mais je pense qu’il faut ajouter index.php dans la ligne suivante et redémarrer ngnix.

Faire de recherches sur le net pour plus de précisions (ngnix + index.php + configuration )

A+

hello jelopo
en fait je définit le document phpinfo.php dans l’URL
dans le doute j’ai quand meme essayé et j’ai également un page blanche

Bonjour,
que contient ton fichier

/etc/nginx/sites-enabled/default

après l’avoir modifié il faut relancer le service NGINX:

sudo service nginx restart ou sudo service nginx reload

hello,

verifier si php-fpm est bien installé et si c’est la version attendu
sudo apt-cache policy php-fpm

ds /etc/nginx/sites-available/default virer le # devant
fastcgi_pass 127.0.0.1:9000;
et en mettre un devant :
fastcgi_pass unix:/run/php/php7.3-fpm.sock;

ds /etc/php/7.3/fpm/pool.d/www.conf virer le ; devant
listen = 127.0.0.1:9000
et
listen.allowed_clients = 127.0.0.1
et
mettre en commentaire :
;listen = /run/php/php7.3-fpm.sock

lancer le tout avec :

sudo systemctl restart php7.3-fpm
sudo systemctl restart nginx

NB : ça doit marcher aussi avec les unix:/run/php/php7.3-fpm.sock; si on a la même socket ds /etc/nginx/sites-available/default que ds /etc/php/7.3/fpm/pool.d/www.conf mais des gouts et des couleurs … :wink:

Hello bof

alors le policy php-fpm me retourne ça:

php-fpm:
Installé : (aucun)
Candidat : 2:7.3+69
Table de version :
2:7.3+69 500

ça veut dire qu’il est pas installé? c’est bizarre parce que le socket existe bien dans /etc/php/7.3/fpm/sock …

et oui c’est bien ça il est pas installé et forcement ça marche moins bien :wink:
mais j’avais fait aussi la même erreur et c’est aussi pour ça que utiliser le port 127.0.0.1:9000 m’a apparu plus « pratique » que la socket unix. ( une fois installé, paramétré et lancé, un :
netstat -tan
ds un terminal et si le socket tcp apparaît c’est en bonne voie !

j’imagine que si le socket apparaît c’est qu il doit être créé par nginx ; c’est peut être la même chose avec la socket tcp donc un :
sudo systemctl stop nginx
avant le :
netstat -tan
serait sans doute une bonne idée !

donc plus qu’un :
sudo apt-get install php-fpm
un peu de paramétrage, peut être une modif ds ton (tes) firewall(s) et hop c’est parti !

@bof ok en effet ça a l’air logique, mais quand je faisais « apt install php-fpm7.3 » il me disait que c’était déjà installé… mais là ca a l’air bon merci beaucoup du coup!

Quoique maintenant j’ai bien la version installé

apt-cache policy php-fpm

php-fpm:
Installé : 2:7.3+69
Candidat : 2:7.3+69
Table de version :
*** 2:7.3+69 500
500 http://raspbian.raspberrypi.org/raspbian buster/main armhf Packages
100 /var/lib/dpkg/status

Mais le netstat -tan ne me liste pas le port 9000:

tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:6010 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN
tcp 0 416 192.168.1.19:7819 192.168.1.68:56647 ESTABLISHED
tcp 0 0 192.168.1.19:37286 192.168.1.8:445 ESTABLISHED
tcp 0 0 192.168.1.19:37282 192.168.1.8:445 ESTABLISHED
tcp 0 0 192.168.1.19:80 192.168.1.68:56648 ESTABLISHED
tcp6 0 0 ::1:3350 :::* LISTEN
tcp6 0 0 ::1:631 :::* LISTEN
tcp6 0 0 ::1:6010 :::* LISTEN
tcp6 0 0 :::3389 :::* LISTEN
tcp6 0 0 :::445 :::* LISTEN
tcp6 0 0 :::139 :::* LISTEN
tcp6 0 0 :::80 :::* LISTEN

normalement si tu as fait ça devrait fonctionner… j’ai la même version et j’ai pas fait d’autres modifs.
je suppose que ton buster est a jour ? sinon peut être :
sudo apt-get update
sudo apt-get upgrade
sudo apt-get reinstall php7.3-fpm
pour un problème de dépendances !
ce package dépend de 17 autres packages !
(sudo apt-cache depends php7.3-fpm)

@bof alors pour le www.conf j’ai bien commenté comme ça

;listen = /run/php/php7.3-fpm.sock
listen = 127.0.0.1:9000
ensuite j’ai bien décommenté le allowed
listen.allowed_clients = 127.0.0.1

mais toujours pas… et pas d’erreur ni coté nginx, ni coté php c’est ça le pire…

Bonjour

qu’entends-tu par là ?

dans mon fichier « /etc/nginx/sites-enabled/default » j’ai:
root /var/www;
index index.php index.html index.htm index.nginx-debian.html;

donc dans le répertoire /var/www
j’ai crée un fichier ‹ index.php › dans lequel j’ ai mis la ligne <?php phpinfo(); ?>
ensuite dans mon navigateur j’entre: http://IPduRPI
et voila
Moi j’utilise le socket unix. et donc je n’ ai rien modifié dans le fichier /etc/php/7.3/fpm/pool.d/www.conf

@Mik91390
Justement c’est là que je pige pas car j’ai la même chose sauf que je fais pointer mon default vers /var/www/html/ et que mon fichier phpinfo.php me retourne un page blanche lorsque je fais http://IPduRPI/phpinfo.php

Normalement il devrait y avoir un message d’ erreur de NGINX.
Dans un terminal essaye la commande: sudo service nginx status
Comment as-tu édité les fichiers conf.
Par contre si c’est une erreur php c’est normal qu’il n’y ai pas d’affichage. Par défaut php n’ affiche pas les erreurs, cela se modifie dans php.ini.

si tu fais :
netstat -tan
tu vois le socket 127.0.0.1:9000 ?

sinon tu purges carrément php ( sudo apt-get purge php ) tu t’assures que le fichier /etc/php/7.3/fpm/pool.d/www.conf est bien supprimer et tu reinstall php7.3-fpm ( ça te reinstallera ausii php )
un dpkg -l|grep php pour voir si il reste pas des cochonneries et
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install php7.3-fpm

normalement quand on modifie un fichier de paramètre on en fait avant une sauvegarde; je dis normalement parce que comme tout le monde je le fais pas souvent non plus lol

si tu vois le socket:

  • soit il te manque fastcgi_pass 127.0.0.1:9000; et le commentaire devant :
    fastcgi_pass unix:/run/php/php7.3-fpm.sock;
    ds le fichier /etc/nginx/sites-available/default
  • soit ton fichier phpinfo.php plante tu devrais le voir ds /var/log/nginx/error.log

un coup d’oeil ds /var/log/php7.3-fpm.log et ds /var/log/syslog pourra aussi t’être utile.

tout bon je vois le socket et dans le fichier default il a bien ça :

server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
index index.html index.htm index.php index.nginx-debian.html;
server_name _;
location / {
try_files $uri $uri/ =404;
}
location ~ .php$ {
fastcgi_pass 127.0.0.1:9000;
}
}
Le /var/log/php7.3-fpm.log et ds /var/log/syslog sont vide de log rien non plus ds le nginx/error.log
Merci de ton aide je vais repasser sur stretch je pense que la version buster est pas au point, car tout fonctionne sur stretch.

J’ai plusieurs rpi (3b, 3b+, 4b) ils sont tous sous Buster (version stable) avec un serveur web( (NGINX; PHP) et pas de problèmes .
Moi j’utilise le socket unix. et donc je n’ ai rien modifié dans le fichier /etc/php/7.3/fpm/pool.d/www.conf et dans le fichier /etc/nginx/sites-available/default j’ai:

# pass PHP scripts to FastCGI server
#
location ~ \.php$ {
	include snippets/fastcgi-php.conf;
#
#	# With php-fpm (or other unix sockets):
	fastcgi_pass unix:/run/php/php7.3-fpm.sock;
#	# With php-cgi (or other tcp sockets):
#	fastcgi_pass 127.0.0.1:9000;
}

je confirme que ça fonctionne aussi avec le socket tcp (127.0.0.1:9000).
mais j’ai une différence avec ton fichier default pour la partie php :

    location ~ \.php$ {
            include snippets/fastcgi-php.conf;
            fastcgi_pass 127.0.0.1:9000;
    }