打开宝塔面板,选择相应网站,点击设置,选择配置文件,之后找到以下代码:
#PHP-INFO-START
include php/54.conf;
#PHP-INFO-END
替换为以下,需要注意的是 “fastcgi_pass 127.0.0.1:20054;” 这一行中如果你用的是php5.7就改成20057
#PHP-INFO-START
location ~ \.php(.*)$ {
try_files $uri =404;
fastcgi_pass 127.0.0.1:20054;
fastcgi_index index.php;
set $path_info "";
set $real_script_name $fastcgi_script_name;
if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") {
#将文件地址赋值给变量 $real_script_name
set $real_script_name $1;
#将文件地址后的参数赋值给变量 $path_info
set $path_info $2;
}
#配置fastcgi的一些参数
fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;
fastcgi_param SCRIPT_NAME $real_script_name;
fastcgi_param PATH_INFO $path_info;
include fastcgi_params;
}
#PHP-INFO-END
注意事项:
需要先开启pathinfo,这个在已安装软件 - 你运行的php版本 - 配置修改 (cgi.fix_pathinfo,开启, 是否开启pathinfo)
未测试的方法:
还有一个网上搜的办法,虽然没测试,但觉得应该也是可行的:
问题原因是try_files $uri=404 与 pathinfo 有冲突,将这一行注释后就可以了,注释的路径是BtSoft/nginx/conf/php/ 下的 74.conf(如果你的PHP版本是7.4,如果是5.4就修改54.conf)。