Nginx, fastcgi PHP Windows, 未指定输入文件



在端口 9000 上运行 php-cgi

Netstat 给我

TCP 127.0.0.1:9000 DESKTOP-xxxxxxx:0 LISTENING [php-cgi.exe]

nginx.conf

http://pastebin.com/wkfz8wxw

每个 php 文件都给了我这个No input file specified.错误......

SCRIPT_FILENAME更改为SCRIPT_NAME,没有成功。.

我使用的是视窗 10 家庭版 x64

您需要

使用 root 指令设置文档根目录,无论是在 location ~ .php$ 块中还是从外部 server 块继承。

解决方案可能是将root c:/Users/Youri/PhpstormProjects;线从location /块移动到其上方的位置。

通常fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;是指定脚本完整路径的正确方法,而SCRIPT_NAME通常只是最后一个元素。

喜欢这个:

server {
    ...
    root   c:/Users/Youri/PhpstormProjects;
    location / {
        index  index.html index.htm index.php;
    }
    location ~ .php$ {
        fastcgi_pass  127.0.0.1:9000;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include       fastcgi_params;
    }
}

在 Windows PC 中使用绝对路径设置根指令。检查大小写或路径中的任何键入错误。重新加载 nginx 进程。

可能是

root路径问题。我在 Windows 上使用反斜杠并发现了这个问题。

 server {
     location ~ .php$ {
-         root C:UsersnameProjectOfPHP; # 404
+         root C:/Users/name/ProjectOfPHP; # Use this pattern
     }
 }

最新更新