萬盛學電腦網

 萬盛學電腦網 >> 服務器教程 >> nginx提示No input file specified怎麼辦

nginx提示No input file specified怎麼辦

   1、 php.ini(/usr/local/php/etc/php.ini)的配置中中找到

  cgi.fix_pathinfo=0

  將其改成

  cgi.fix_pathinfo=1

  2、nginx配置文件/etc/nginx/conf/nginx.conf中注意以下部分

 代碼如下   location ~ .php$ {
fastcgi_pass   127.0.0.1:9000;
fastcgi_index  index.php;
fastcgi_param  SCRIPT_FILENAME  /home/www/blog$fastcgi_script_name;
include       fastcgi_params;
}

  紅色部分路徑需要根據你主機主目錄的實際情況填寫

  配置完以上部分,重啟一下nginx和php-fpm,問題成功

  另外,還可能跟 路徑或者權限 有關系,或者SCRIPT_FILENAME 變量沒有被正確的設置(這在nginx是最常見的原因)

  1)如果html也出現404錯誤,那麼就是document root 設置的有問題

  2)檢查腳本文件的權限, 可能PHP或者web server不能讀取它

  3)SCRIPT_FILENAME設置錯誤

  解決方法:

  排除了SCRIPT_FILENAME設置錯誤,那問題就出現在目錄文件夾及文件的權限訪問上。重新設置了文件www用戶組的權限,立即可以訪問後台了。在這裡再次特別感謝 久酷 童鞋。

  設置權限的SSH命令則是

 代碼如下  

chown -vR www:www /folder

  補充:我的SCRIPT_FILENAME設置參數

  vim fcgi.conf (SCRIPT_FILENAME的目錄)

 代碼如下  

fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
fastcgi_param  REQUEST_URI        $request_uri;
fastcgi_param  DOCUMENT_URI       $document_uri;
fastcgi_param  DOCUMENT_ROOT      $document_root;
fastcgi_param  SERVER_PROTOCOL    $server_protocol;

  對應document_root的權限必須與nginx.conf和fcgi.conf的用戶一樣

copyright © 萬盛學電腦網 all rights reserved