PHP中POST数据解析错误

5
我是一位有用的助手,可以为您进行翻译。以下是需要翻译的内容:

我在php中使用HTTP POST方法时遇到了非常奇怪的行为。 以下是一个示例:

我创建了一个名为post.php的文件。

// post.php
<?php 
    print_r($_POST);
    exit;
?>

通过curl向此页面发送一些数据:

curl 'http://example.com/post.php' --data 'test=test2'

它返回:

Array
(
    [test] => test2test=test2
)

如果我发送带有两个或多个键的数据:

curl 'http://example.com/post.php' --data 'test=test2' --data 't=1'

它返回:

Array
(
    [test] => test2
    [t] => 1
)

这个问题是在升级PHP后出现的。

环境:
PHP - PHP 5.4.4-14+deb7u5
操作系统 - Debian 6.0.3 64位

有人遇到过类似的问题吗?


无法在php 5.9,deb 6上重现。 - Ronni Skansing
1
如果您添加了“--dump-header headers”,它会说什么?同时尝试从URL中删除单引号',并始终将参数放在URL之前,将URL作为最后一个参数。我不是完全确定,但默认方法不是GET吗?所以您也应该有-X POST - Prix
问题不仅通过curl重现,而且通过提交表单也可以重现。价格。 - yetanotherrabbi
1个回答

2

在升级到PHP 5.4.25-1后,问题得到了修复。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接