有時候安裝好了LNMP環境,測試訪問php頁面時候報錯“No input file specified”。F12查看,可以看到報錯404找不到頁面。
原理:
任何對.php文件的請求,都簡單地交給php-cgi去處理,但沒有驗證該php文件是否存在。PHP文件不存在,沒辦法返回普通的404錯誤,它返回 一個404,並帶上一句”No input file specified”
我們只要修改下nginx虛擬主機的配置文件即可,關鍵部分如下:
location ~ \.php$ {
root /home/wwwroot/default;
fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_index index.php;
# 方法1
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
# 方法2
#include fastcgi.conf;
}
上面的方法1 和方法2都行,啓用任意一個即可(實際上fastcgi.conf裏面就是比fastcgi_params裏面多了一行代碼,感興趣的自己可以看下)
然後保存重啓nginx即可正常訪問php頁面了。