小编use*_*714的帖子

Nginx + phpFPM:PATH_INFO总是空的

我在Debian上配置了nginx stable(1.4.4)+ PHP(使用FastCGI,php-fpm).这工作正常:

     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;
     }
Run Code Online (Sandbox Code Playgroud)

我使用PATH_INFO变量,因此我将以下行添加到fastcgi_params:

fastcgi_param   PATH_INFO       $fastcgi_path_info;
Run Code Online (Sandbox Code Playgroud)

在/etc/php5/fpm/php.ini中:

cgi.fix_pathinfo = 0
Run Code Online (Sandbox Code Playgroud)

我认为这应该有效,但是当我打印出所有服务器变量时,PATH_INFO始终为空:

    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' …
Run Code Online (Sandbox Code Playgroud)

php fastcgi nginx

8
推荐指数
4
解决办法
1万
查看次数

标签 统计

fastcgi ×1

nginx ×1

php ×1