php - $_GET 和 $_REQUEST 为空,但只是有时为空?

标签 php apache http

我有一个非常简单的 page.php,它应该显示所有 URL 参数。 (我在一个更复杂的页面中遇到了这个问题,但将其简化为只有这个测试,问题仍然存在)

<?php
if (!isset($_SESSION)) { 
    session_start(); 
}
print_r($_GET);
?>

当我直接导航到 page.php?someProperty=testing 时,我有时会得到一个空的 array(),然后在第二次尝试和每次后续尝试中都按预期工作。离开一段时间后,第一次向服务器发出请求似乎总是失败。我开始认为这是较低级别的东西。调试非常困难,因为一旦我观察到它,它就会消失。什么会导致这个?

环境信息:

  • PHP 5.3
  • Apache 2
  • 红帽 Linux

PS - 我读过其他类似的帖子,但在每种情况下,都有人忘记初始化 session 或其他内容。我还确保在初始化 session 之前没有设置空格或 header

更新 - 当页面无法读取 URL 参数时,浏览器也会立即从地址栏中删除查询字符串,将其缩减为 domain.com/page.php
即使我在 URL 栏中手动输入 page.php?test=test 的完整地址,它也会立即缩短,并且页面输出一个空白数组。此外,Apache 中没有启用任何类型的重写

最佳答案

仅出于测试目的,还请包括 print_r($_REQUEST); 之类的内容并检查其输出。

关于php - $_GET 和 $_REQUEST 为空,但只是有时为空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41992735/

相关文章:

java - 寻找与 Java 的 Map 和 List 等效的 PHP?

regex - 不要在 htaccess 中重定向子域

apache - 即使文件存在,在 WEBDAV 服务器上移动文件也会返回 404

mysql - 在 MySQL 上加载特定 ID 范围

php - 变量未传递给 sql 查询

php - 使用 INDEX 添加到数组或对象

java - 如何解析Weblogic中部署Apache CXF的拦截器和Apache拦截器

python - 在 django/python 上访问请求 header

http - 诱导 Julia 任务完成

php - ajax - 检查用户名是否存在+如果存在则返回消息