Php $\u GET和$\u POST不工作

Php $\u GET和$\u POST不工作,php,Php,我是php的初学者,正在尝试一些非常简单的测试来开始 我似乎无法从$获取任何值 这个test.php #!/usr/bin/php <html> <body><h1>GET test</h1><p> <?php print_r($_GET); ?> </p></body></html> 我没有对服务器上的/etc/php.ini的写访问权限,但是检查register\u glo

我是php的初学者,正在尝试一些非常简单的测试来开始

我似乎无法从$获取任何值

这个test.php

#!/usr/bin/php

<html>
<body><h1>GET test</h1><p>
<?php
    print_r($_GET);
?>
</p></body></html>
我没有对服务器上的/etc/php.ini的写访问权限,但是检查register\u globals,它就关闭了

我也尝试过使用$\u POST方法,但这也不起作用


PHP版本:PHP5.1.6

只有在启用了
track\u vars
时,$\u GET和$\u POST变量才可用

从PHP版本4.0.3开始,它始终自动启用

您是否可以检查您的PHP版本,并在PHP.ini中检查
track\u vars
的值

如果您选中phpinfo(),也会很有帮助


查证

  • 一种称为
    ——启用轨道变量的东西,它应该存在

  • \u如果通过GET请求传递VAR,则服务器[“argv”]
    应该包含一个数组

  • 此外,“已加载的配置文件”应解析为您认为是的文件


来源:

Try
echo$\u服务器['QUERY\u STRING']
。这将为您提供原始查询字符串(示例中的aValue=A&bValue=B)。如果这给了您正确的值,可能是配置错误。您是从命令行还是从浏览器调用它?第一行代码似乎表明您也在通过命令行访问它。谢谢Jeffrey:echo$\u服务器['QUERY\u STRING']工作正常,所以现在我只需跟踪配置错误。谢谢gabriel:我是从浏览器中调用它的,但是我发现除非有shebang行,否则我会得到一个500错误。看起来PHP是作为CGI安装的。你能验证一下吗?既然你没有php.ini的写权限,我想服务器不是你的?您是否已与“ISP”核实他们是否知道此问题?谢谢nash。PHP版本是PHP5.1.6。我检查了php.ini,没有设置跟踪变量。不过,对于默认情况下它是如何打开的,也有一些评论。我尝试了phpinfo(),它看起来是对的(--enable track vars在那里)。
<html>
<body><h1>GET test</h1><p>
Array
(
)
</p></body></html>
<?php
phpinfo();
?>