I configured nginx stable (1.4.4) + PHP (using FastCGI, php-fpm) on Debian. This works great:
location ~* ^/~(.+?)(/.*\.php)$ { fastcgi_split_path_info ^(.+?\.php)(/.*)$; alias /home/$1/public_html$2; fastcgi_pass unix:/var/run/php5-fpm.sock; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $request_filename; fastcgi_index index.php; autoindex on; }
I use the PATH_INFO variable, so I added the following line to fastcgi_params:
fastcgi_param PATH_INFO $fastcgi_path_info;
And in / etc / php 5 / fpm / php.ini:
cgi.fix_pathinfo = 0
I think this should work, but when I print all server variables, PATH_INFO is always empty:
array ( 'USER' => 'www-data', 'HOME' => '/var/www', 'FCGI_ROLE' => 'RESPONDER', 'QUERY_STRING' => '', 'REQUEST_METHOD' => 'GET', 'CONTENT_TYPE' => '', 'CONTENT_LENGTH' => '', 'SCRIPT_FILENAME' => '/usr/share/nginx/html/srv_var.php', 'SCRIPT_NAME' => '/srv_var.php', 'PATH_INFO' => '', 'REQUEST_URI' => '/srv_var.php', 'DOCUMENT_URI' => '/srv_var.php', 'DOCUMENT_ROOT' => '/usr/share/nginx/html', 'SERVER_PROTOCOL' => 'HTTP/1.1', 'GATEWAY_INTERFACE' => 'CGI/1.1', 'SERVER_SOFTWARE' => 'nginx/1.4.4', ..... )
I can not understand where the problem is. Any ideas?
source share