nginx FastCGI配置 No input file specified

配置好nginx,啓動nginx,設置按照FastCGI的默認配置,配置好,訪問php文件。php

curl -i http://localhost/test.phphtml

結果提示No input file specified,可是我在/usr/local/nginx/html/目錄下的確有test.php文件。個人配置以下:nginx

location ~ \.php$ {
   root html;
  #echo $fastcgi_script_name;
  charset utf8;
  fastcgi_pass 127.0.0.1:9000;
  fastcgi_index index.php;
  fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;
  include fastcgi_params;
 }curl

搜了一下,發現還得在fastcgi_param這指定目錄,正確的應該是:url

location ~ \.php$ {
   root html;
  #echo $fastcgi_script_name;
  charset utf8;
  fastcgi_pass 127.0.0.1:9000;
  fastcgi_index index.php;
  fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  include fastcgi_params;
 }spa

因此就算把php目錄配置爲其餘目錄,依然須要在fastcgi_param SCRIPT_FILENAME添加上路徑名,能夠把$document_root設置爲須要設置的目錄,或者直接寫:htm

fastcgi_param SCRIPT_FILENAME /the path$fastcgi_script_name;ip

nginx配置文件中FastCGI的默認配置是:ci

location ~ \.php$ {
  root html;
  fastcgi_pass 127.0.0.1:9000;
  fastcgi_index index.php;
  fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
  include fastcgi_params;
}input

我以前就直接寫這個配置結果一直,出錯

相關文章
相關標籤/搜索