file_get_contents和cURL在同一个脚本中返回完全不同的内容

时间:2016-05-19 08:43:46

标签: php curl soap soap-client

我正在调试一个无法运行的SOAP客户端,但由于客户端无法在本地解析WSDL,因此无法正常工作。为了调试这个,我创建了以下脚本。

curl调用具有正确的响应,file_get_contents具有完全不同的响应。起初我认为这是一个DNS问题,但在这种情况下,curl调用也应该返回错误的响应。

知道可能是什么根本原因?

<?php
function get_data($url) {
    $ch = curl_init();
    $timeout = 5;
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
    $data = curl_exec($ch);
    curl_close($ch);
    return $data;
}
var_dump(get_data("http://example.com")); // right response
var_dump(file_get_contents("http://example.com"); // wrong response

1 个答案:

答案 0 :(得分:0)

不知何故,Apache重启后问题得到了解决。还不确定问题是什么。它肯定不是DNS TTL(等待48小时)。