
在Laragon环境中使用Nginx和PHP7.2搭建FastAdmin时,访问后台出现“no input file specified.”错误,通常是由于Nginx未正确配置pathinfo导致。本文分析此问题并提供解决方案。
用户修改Nginx配置文件后,前端页面(/index)正常访问,但后台仍报错。修改后的Nginx配置如下:
location ~ .php(.*)$ { # 正则匹配.php后的pathinfo部分
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $DOCUMENT_ROOT$fastcgi_script_name;
fastcgi_param PATH_INFO $1; # 把pathinfo部分赋给PATH_INFO变量
include fastcgi_params;
}
登录后复制
虽然配置看似正确,但问题出在fastcgi_param变量名大小写上。FastCGI规范要求fastcgi_param中的变量名必须小写。 代码中PATH_INFO使用了大写,应改为小写path_info。
正确的Nginx配置如下:
location ~ .php(.*)$ { # 正则匹配.php后的pathinfo部分
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $DOCUMENT_ROOT$fastcgi_script_name;
fastcgi_param path_info $1; # 将PATH_INFO改为小写path_info
include fastcgi_params;
}
登录后复制
将fastcgi_param PATH_INFO $1;修改为fastcgi_param path_info $1;后,重启Nginx服务使配置生效,即可解决“no input file specified.”错误,FastAdmin后台将能够正常访问。 请务必检查Nginx配置文件语法是否正确,并确保重启Nginx服务。
以上就是Laragon环境下FastAdmin后台提示“no input file specified.”,如何解决?的详细内容,更多请关注php中文网其它相关文章!