当前位置:论坛首页 > Windows面板 > 讨论

【已解答】Windows面板7.5.0版本PATH_INFO的正确配置(解决TP5...

发表在 Windows面板2022-3-21 12:36 [复制链接] 1 5043

win10安装宝塔Windows面板7.5.0版本+php7+NGINX,安装 thinkphp 框架时pathinfo模式无效,这导致所有依赖 PATH_INFO的PHP框架,路由都是404(宝塔官方论坛说是在winserver2019上没有这样的问题,家用电脑没有时间精力去修复)。
  • 同样的 伪静态配置,php8.0 妥妥正常,无需修改任何 伪静态 或者修改 nginx.conf  ,$_SERVER['PATH_INFO'] 正常取值。
  • 切换到  php 7+ 【php 5.2 ~ php 7.4】,$_SERVER['PATH_INFO']  都没有值,经过几翻折腾终于搞定。


NGINX配置修改,主要是修改path_info的变量,修改位置如图所示,要替换的代码放在后面直接复制替换即可。


bt-pathinfo-02.png


  1. #PHP-INFO-START
  2. location ~ \.php(.*)$ {
  3.     try_files $uri =404;
  4.     fastcgi_pass   127.0.0.1:20074;
  5.     fastcgi_index  index.php;

  6.     set $path_info "";
  7.     set $real_script_name $fastcgi_script_name;
  8.     if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)[        DISCUZ_CODE_0        ]quot;) {
  9.         #将文件地址赋值给变量 $real_script_name
  10.         set $real_script_name $1;
  11.         #将文件地址后的参数赋值给变量 $path_info
  12.         set $path_info $2;
  13.     }
  14.     #配置fastcgi的一些参数
  15.     fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;
  16.     fastcgi_param SCRIPT_NAME $real_script_name;
  17.     fastcgi_param PATH_INFO $path_info;

  18.     include        fastcgi_params;
  19. }
  20. #PHP-INFO-END
复制代码


使用道具 举报 只看该作者 回复
发表于 2022-3-21 14:18:51 | 显示全部楼层
感谢分享
使用道具 举报 回复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

普通问题处理

论坛响应时间:72小时

问题处理方式:排队(仅解答)

工作时间:白班:9:00 - 18:00

紧急运维服务

响应时间:3分钟

问题处理方式:宝塔专家1对1服务

工作时间:工作日:9:00 - 18:30

宝塔专业团队为您解决服务器疑难问题

点击联系技术免费分析

工作时间:09:00至18:30

快速回复 返回顶部 返回列表