No input file specified. phpStudy nginx报错解决方案

No input file specified. phpStudy nginx报错解决方案

排查1:检查这个目录是否存在,路径是否错误

排查2:vhost.conf配置文件

server {
        listen       80;
        server_name  www.gdy.com gdy.com;
        root   "C:\work-space\phpstorm-pro\test";
        location / {
 	    try_files $uri $uri/ /index.php?$args;
            index  index.html index.htm index.php;
            autoindex  on;
        }
        location ~ \.php(.*)$ {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_split_path_info  ^((?U).+\.php)(/?.+)$;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            fastcgi_param  PATH_INFO  $fastcgi_path_info;
            fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;
            include        fastcgi_params;
        }
}

先科普下:

在Windows系统中,正斜杠 表示除法,用来进行整除运算;反斜杠 \ 用来表示目录。

在Unix系统中,/ 表示目录;\ 表示跳脱字符将特殊字符变成一般字符(如enter,$,空格等)。

解决办法: 

root   "C:\work-space\phpstorm-pro\test"; 中的反斜杠,换成正斜杠即可。因为配置文件会把\t \r \n当作转义字符处理。

所以上面得配置路径其实时错误的,记得直接复制路径后,一定要把这反斜杠改过来!其实我这里坑了半天,感觉很莫名奇妙后面突然发现有些目录时可以,于是就相到这个斜杠的问题!网上百度半天,有说权限问题,什么答案都有没有一个可用的!

这里vhost.conf最好时手动改配置,不要用phpStudy的站点管理,一方面,这个管理工具会重置你手动加的特殊配置信息,另一方并没有对这个路径的反斜杠进行替换!作为一个开发者还是养成修改配置文件的习惯!

 

 

你可能感兴趣的:(PHP深入实践)