Bonjour,
Malgrè plusieur lecture sur diffèrent forum a ce sujet j'ai toujours un $path_info always empty .....?
Voici mon post sur plus detailler sur stackoverflow sur mes références:
https://stackoverflow.com/questions/65330133/nginx-phpfpm-debian-10-path-info-is-always-empty
Je ne sais plus ou chercher, et je tape dans le mur pour une première fois......
Voici ma configuration
https://www.grafikart.fr/forum/topics/2428
# php/7.3/fpm/php.ini
cgi.fix_pathinfo=1
# virtualhost
location / {try_files $uri $uri/ /$uri.php$is_args$args;}
location ~ \.php {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php7.3-fpm.sock
}
# fichier du projet
php -
|-index.php
|-text.php
#index.php
var_dump($_SERVER['PATH_INFO']);
echo "index.php";
#test.php
var_dump($_SERVER['PATH_INFO']);
echo "test.php";
#localhost/index
string(0) ""
index.php
#localhost/test
string(0) ""
test.php
Fichier: snippets fastcgi-php.conf
# regex to split $uri to $fastcgi_script_name and $fastcgi_path
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
# Check that the PHP script exists before passing it
try_files $fastcgi_script_name =404;
# Bypass the fact that try_files resets $fastcgi_path_info
# see: http://trac.nginx.org/nginx/ticket/321
set $path_info $fastcgi_path_info;
fastcgi_param PATH_INFO $path_info; # J'ai essayé fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
fastcgi_param DOCUMENT_ROOT $realpath_root;
fastcgi_param HTTPS on;
fastcgi_index index.php;
include fastcgi.conf;
Je travaille en localhost avec du https.
Il faudrait voir ton fichier snippets/fastcgi-php.conf car normalement cela devrait marcher.
Merci Grafikart,
J'ai rajouté le fichier snippets/fastcgi-php.conf dans le post....
J'ai essayé tout un tas de configuration, a part créer mon propre PATH_INFO avec du php j'ai toujours pas trouvé de solution pour Nginx.....