我有这段代码:
$jsonurl = "http://ipinfo.io";
$ch = curl_init($jsonurl);
curl_setopt($ch, CURLOPT_TIMEOUT, 5);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, 0);
$predata = curl_exec($ch);
var_dump(curl_error($ch));
curl_close($ch);
$data = json_decode($predata, true);
它在本地运行良好,但当我将其上传到我的网络托管时,我有:
string(20) "connect() timed out!"
我的网站托管中的phpinfo说:
URL support enabled
cURL Information libcurl/7.19.7 NSS/3.14.0.0 zlib/1.2.3 libidn/1.18 libssh2/1.4.2
您能否提供有关如何搜索问题所在的线索?
谢谢!
答案 0 :(得分:0)
或者您需要更多时间,请尝试添加此
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, 5);
curl_setopt($ch, CURLOPT_TIMEOUT, 400);
代码
注意:CURLOPT_CONNECTTIMEOUT设置为零,没有超时
CURLOPT_TIMEOUT
允许cURL函数执行的最大秒数。
CURLOPT_CONNECTTIMEOUT
尝试连接时等待的秒数。使用0无限期等待。
希望这些帮助