Pages : 1
#1 Le 02/01/2018, à 09:14
- couik
[Résolu] Nginx 1.12 - PHP7.2
Bonjour,
Et bonne année à chacune et chacun.
Mon problème du jour : punaise de bazarre, ça ne fonctionne pas :S
Nature du problème :
Après ajout des dépôts pour avoir la dernier version stable de Nginx (1.12.2) et de php 7 (7.2), après installation (update et tout ça fait bien sûr)
la configuration de Nginx pour les page html avec correction du fichier nginx.conf pour l'ouverture avec le user www-data et non nginx, tout va bien du coté nginx avec du html;
Avec la console, php7.2 est opérationnelMais... une fois suivi tous les tuto de partout (français et anglais), je me retrouve avec l'impossibilité f'afficher une page .php. les log montrent une erreur 404 alors que le fichier index.html est lui accessible...
Bon, pour avoir une aide efficace, une présentation des fichiers de config me parait indispensable...
Répertoire défini de site web (en local)
/usr/share/nginx/html
Fichier /etc/nginx/nginx.conf
user www-data; worker_processes 1; error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; events { worker_connections 1024; } http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; #tcp_nopush on; keepalive_timeout 65; #gzip on; include /etc/nginx/conf.d/*.conf; }
Vous noterez user www-data; sinon, Nginx n'a aucun droit sur les sockets
je n'ai rien modifié au fichier /etc/php/7.2/fpm/pool.d/www.conf
; The address on which to accept FastCGI requests. ; Valid syntaxes are: ; 'ip.add.re.ss:port' - to listen on a TCP socket to a specific IPv4 addre$ ; a specific port; ; '[ip:6:addr:ess]:port' - to listen on a TCP socket to a specific IPv6 addre$ ; a specific port; ; 'port' - to listen on a TCP socket to all addresses ; (IPv6 and IPv4-mapped) on a specific port; ; '/path/to/unix/socket' - to listen on a unix socket. ; Note: This value is mandatory. listen = /run/php/php7.2-fpm.sock
Cela pointe bien sur le bon endroit :
sylvain@SLB:~$ ls -l /run/php/ total 4 -rw-r--r-- 1 root root 4 janv. 2 06:29 php7.2-fpm.pid srw-rw---- 1 www-data www-data 0 janv. 2 06:02 php7.2-fpm.sock
Fichier /etc/nginx/conf.d/default
server { listen 80; server_name localhost; #charset koi8-r; #access_log /var/log/nginx/host.access.log main; location / { root /usr/share/nginx/html; index index.html index.htm; } # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } # proxy the PHP scripts to Apache listening on 127.0.0.1:80 # #location ~ \.php$ { # proxy_pass http://127.0.0.1; #} # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # location ~ \.php$ { # fastcgi_pass 127.0.0.1:9000; fastcgi_pass unix:/run/php/php7.2-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # #location ~ /\.ht { # deny all; #} }
Le fichier /var/log/php7.2-fpm.log est vide
Extrait du fichier /var/log/nginx/access.log
127.0.0.1 - - [02/Jan/2018:08:47:50 +0100] "GET /info.php HTTP/1.1" 404 27 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.97 Safari/537.36 Vivaldi/1.94.1008.40" "-"
Extrait du fichier /var/log/nginx/error.log
2018/01/02 08:47:40 [error] 7825#7825: *33 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "GET /info.php HTTP/1.1", upstream: "fastcgi://unix:/run/php/php7.2-fpm.sock:", host: "127.0.0.1"
Note compémentaire
-> j'ai les même résultat avec pour paramettre non pas /run/php/... mais 127.0.0.1:9000
-> le répertoire /usr/share/nginx/html et fichier sont avec www-data:www-data et avant avec root:root. Ce qui dans les deux cas donne le même résultat :S
je n'ai pas de données dont je risquerais de perdre. Donc je peux suivre tout conseil, mêm tout refaire sans soucis.
Par contre, je ne suis pas contre des pistes que je puisse comprendre...
Voilou
Merci beaucoup
Couik
PS : J'allais oublier : tout cela en local, mais sur le serveur dédier, j'ai fait la même chose, et le résultat est identique.
Dans mes hypothèses, soit un paramètre mal mis, soit un soucis de droit...
Dernière modification par couik (Le 02/01/2018, à 14:32)
Hors ligne
#2 Le 02/01/2018, à 14:29
- couik
Re : [Résolu] Nginx 1.12 - PHP7.2
Rebonjour,
Réponse à moi même après avoir galérer dans toutes ces doc qui se contredisent ou pire comporte des erreur
Exemple :
J'installe MariaDB sans soucis, la dernière version.
(je vérifie la version selon le tuto
mariadb --version
Ce qui bien sûr ne fonctionne pas, puisqu'il faut utiliser :
mysql --version
Il y a plein d'exemple comme celui là :S
Mais bon, revenons à nos moutons, ou du moins à mon serveur xD
l'erreur était de ne pas indiquer le chemin du script dans le block qui défini php
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
root /usr/share/nginx/html; <= VOILÀ CE QU'IL FALLAIT METTRE
# fastcgi_pass 127.0.0.1:9000;
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
Voilou, tout est fonctionnel
Merci à moi même pour cette bonne réponse xD
Couik
Hors ligne
#3 Le 03/01/2018, à 15:36
- krodelabestiole
Re : [Résolu] Nginx 1.12 - PHP7.2
(je vérifie la version selon le tuto
mariadb --version
Ce qui bien sûr ne fonctionne pas, puisqu'il faut utiliser :
mysql --version
Il y a plein d'exemple comme celui là :S
quel tuto ?
si c'est sur la doc ubuntu ce serait bien de l'indiquer pour qu'on puisse corriger.
nouveau forum ubuntu-fr on en parle là : refonte du site / nouveau design
profil - sujets récurrents - sources du site
Hors ligne
#4 Le 03/01/2018, à 21:26
- couik
Re : [Résolu] Nginx 1.12 - PHP7.2
Cela ne concerne pas Ubuntu-fr, même si beaucoup sont obsolètes.
=> https://www.linuxbabe.com/ubuntu/instal … untu-17-10
On notera que quelque soit la source de la doc, elle n'est que très rarement mis a jour.
Il faut donc avoir beaucoup de patience pour parvenir des fois à trouver une solution en mixant l'ensemble des doc, tuto etc...
Je pense que c'est lié à la passion de chacun au moment de faire une doc à jour à ce moment, avec son propre modèle en fonction de son propre environnement, mais qu'après, passion diminuant, les tuto et doc sont hélas délaissés.
Ce n'est pas propre à ubuntu-fr, mais à tous les sites sans exception, même professionnels
Voilou
Couik
Dernière modification par couik (Le 04/01/2018, à 01:01)
Hors ligne
Pages : 1