0

我在fopen远程 url 上有一些错误。

我必须将一些 xml 数据发布到另一台服务器:因为我希望避免curl未安装库的问题,所以我更喜欢使用流。

这是我的代码:

$url = 'http://test.mysite.com/index.php?foo=bar';
$params = array('http' => array('method' => 'POST','content' => $data));
$ctx = stream_context_create($params);
$fp  = fopen($url, 'rb', false, $ctx);

if (!$fp) {
     throw new Exception("Problem with $url, $php_errormsg");
}
$response = stream_get_contents($fp);

我在本地计算机(Windows,PHP 5.3.8)上进行了测试,一切都很好,现场测试(Linux PHP 5.3.13)并且没问题,然后我在另一台电脑(Windows 5.2.9)上进行了本地测试。
好吧,在最后一种情况下,fopen挂起直到超时。

allow_url_fopen开启,防火墙应该没有问题(基本上我是在自称:localhost/mysitefrom localhost/mysite

由于我的几个客户报告了这个错误,我希望进一步调查。
有什么建议吗?
PHP 5.2 中是否存在错误或其他问题?

4

1 回答 1

1

您的 URL 语法无效。
代替:

$url = 'http://test.mysite.com?foo.php';

和:

$url = 'http://test.mysite.com/?foo.php';
于 2012-09-12T15:49:09.383 回答