php取不到$_GET的值是怎么回事?

发布于 2022-09-03 14:08:10 字数 1631 浏览 13 评论 0

在本机开发时是没有异常的,部署到服务器就各种问题了,REQUEST_URI的参数明明是有值的,但是QUERY_STRING却是空的...orz
在本机开发时是用apache,部署是用ngnix难道和配置有关?

array:32 [▼
  "USER" => "www-data"
  "HOME" => "/var/www"
  "FCGI_ROLE" => "RESPONDER"
  "QUERY_STRING" => ""
  "REQUEST_METHOD" => "GET"
  "CONTENT_TYPE" => ""
  "CONTENT_LENGTH" => ""
  "SCRIPT_FILENAME" => "/home/ubuntu/mfphp/index.php"
  "SCRIPT_NAME" => "/index.php"
  "REQUEST_URI" => "/Index/test/?id=3&page=1&size=10"
  "DOCUMENT_URI" => "/index.php"
  "DOCUMENT_ROOT" => "/home/ubuntu/mfphp"
  "SERVER_PROTOCOL" => "HTTP/1.1"
  "GATEWAY_INTERFACE" => "CGI/1.1"
  "SERVER_SOFTWARE" => "nginx/1.4.6"
  "REMOTE_ADDR" => "223.73.98.45"
  "REMOTE_PORT" => "23487"
  "SERVER_ADDR" => "10.104.44.175"
  "SERVER_PORT" => "80"
  "SERVER_NAME" => "gb.qiangtaoli.com"
  "REDIRECT_STATUS" => "200"
  "HTTP_HOST" => "gb.qiangtaoli.com"
  "HTTP_CONNECTION" => "keep-alive"
  "HTTP_CACHE_CONTROL" => "max-age=0"
  "HTTP_UPGRADE_INSECURE_REQUESTS" => "1"
  "HTTP_USER_AGENT" => "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36"
  "HTTP_ACCEPT" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"
  "HTTP_ACCEPT_ENCODING" => "gzip, deflate, sdch"
  "HTTP_ACCEPT_LANGUAGE" => "zh-CN,zh;q=0.8,en;q=0.6,zh-TW;q=0.4"
  "PHP_SELF" => "/index.php"
  "REQUEST_TIME_FLOAT" => 1472734757.8597
  "REQUEST_TIME" => 1472734757
]

刚发现只是被隐藏index.php才找不到$_GET的值,以*.php结尾的可以正常取到$_GET的值...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

时光是把杀猪刀 2022-09-10 14:08:10

是有可能跟你的nginx 配置有关的。
我使用nginx 配置的时候遇到过这样的问题,POST 数据是OK 的,但是GET 却获取不到数据。

当时的原因始我用的 try_files,在try_files 中的uri 后面参数没写对引起的错误。

假装不在乎 2022-09-10 14:08:10

phpinfo();

看看是否有value

在看看php.ini 中:variables_order 的值。 修改成为这样就OK了

variables_order="EGPCS"
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文