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().
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
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 …
et oui c’est bien ça il est pas installé et forcement ça marche moins bien
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!
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)
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;
}