2

我继承了一台运行 xitami/pro 服务器的 XP 机器并安装了 PHP 5.2.17,因为我认为我可能需要 VC6 版本。

PHP 可以正常工作并按phpinfo应有的方式显示。当我这样做时www.domain.com/test.php?x=y&z=test$_GET没有被填充。

$_REQUEST变量也没有被填充。如果我将其以表格形式发布并发布,$_POST则. 和$_REQUEST.

如果我遍历$_SERVER变量并在 get 上显示它们,则将QUERY_STRING填充 get 变量。

当我print_r对任何变量执行 a 时,它是空的。我得到:Array ( ) 1

然后我升级到 PHP 5.4 和同样的东西。

问题是什么?我很茫然,不知道还能尝试什么。

4

1 回答 1

2

我怀疑当服务器配置错误时会出现这个问题。特别是当使用了错误的 SAPI 时(例如,我很确定$_GET/在使用PHP CLI$_POST时不可用。

要查看这是否会导致您的问题,请创建一个新的 php 文件,然后插入以下内容

<?php
  echo php_sapi_name();
?>

如果这返回CLI,我很确定这会导致您的问题。通过配置您的服务器以使用正确的 SAPI 来解决它。

TL;DR:
我假设您正在使用C:\php\php.exe您的 PHP 解释器。试试C:\php\php-cgi.exe吧。

于 2013-02-26T15:22:48.373 回答