php / curl:远程服务器卷曲自身时的超时问题

时间:2010-01-17 14:46:49

标签: php curl

我有一个简单的“服务器”脚本,它只是一行:

<?php 
echo "Server script on http://".$_SERVER['SERVER_NAME']." saying hello!";

卷曲服务器脚本的“客户端”脚本:

<?php 
echo "Client script";

$url = "http://localhost/server.php";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
$data = curl_exec($ch);
curl_close($ch);        

echo "<br/>Data returned from server script:";
echo "<hr/>";
echo $data;

最后一个替代方案导致远程服务器没有响应,只是浏览器咀嚼直到超时。有什么想法吗?

2 个答案:

答案 0 :(得分:2)

问题显然是在远程服务器上。

如果远程服务器是共享服务器而您使用的是localhost而不是完整的URL,则本地计算机将不知道要调用哪个本地网站。

另一种可能性是您的远程服务器不允许服务器进程从其他地方请求数据。要对此进行测试,您应该尝试调用本地计算机(如果可以从Internet访问)或第二台计算机,并从服务器调用该计算机。

答案 1 :(得分:-5)

您有错误

$ch = curl_init();

$ch = curl_init($url);