我在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/mysite
from localhost/mysite
)
由于我的几个客户报告了这个错误,我希望进一步调查。
有什么建议吗?
PHP 5.2 中是否存在错误或其他问题?