PHP cURL超时不工作 [英] PHP cURL timeout is not working
问题描述
我遇到服务器问题。我运行一个本地服务器(用于开发),我已经将我的本地服务器从MAMP更改为XAMPP。但是,在XAMPP上,cURL选项 CURLOPT_TIMEOUT_MS
或 CURLOPT_CONNECTTIMEOUT_MS
给我下一个错误:
警告:curl_setopt()期望参数2为长,给定字符串
这是因为PHP还是cURL版本?可能是配置设置?
curl_setopt($ this-> ch,CURLOPT_CONNECTTIMEOUT_MS,2500);
其他信息:
- OSX 10.6.8
- PHP 5.3.1
- cURL 7.19.7
p>
编辑:似乎有一些关于错误和要设置的变量的混乱。该错误指出参数 2 无效。不参数 3 。因此, CURLOPT_CONNECTTIMEOUT_MS
似乎是问题。
curl_setopt - > ch,CURLOPT_CONNECTTIMEOUT_MS,2500);
^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^
参数:#1 #2#3
有趣的事实: var_dump(CURLOPT_CONNECTTIMEOUT_MS);
显示 string(25)CURLOPT_CONNECTTIMEOUT_MS
。
由于某种原因, CURLOPT_CONNECTTIMEOUT_MS
在您的PHP版本中未正确定义。
正确的值是 156
curl_setopt($ this-> ch,/ * CURLOPT_CONNECTTIMEOUT_MS * / 156,2500);
注意你真的 以添加评论,说明为什么要这样做。
I'm having a server issue. I'm running a local server (for developing) and I've changed my local server from MAMP to XAMPP. However, on XAMPP, the cURL option CURLOPT_TIMEOUT_MS
or CURLOPT_CONNECTTIMEOUT_MS
gives me the next error:
Warning: curl_setopt() expects parameter 2 to be long, string given
Is this because of the PHP or cURL version? Maybe a configuration setting?
curl_setopt($this->ch, CURLOPT_CONNECTTIMEOUT_MS, 2500);
Additional information:
- OSX 10.6.8
- PHP 5.3.1
- cURL 7.19.7
Thanks in advance.
Edit: There seems to be some confusion about the error and the variable to set. The error states that parameter 2 is invalid. Not parameter 3. So the CURLOPT_CONNECTTIMEOUT_MS
seems to be the issue.
curl_setopt($this->ch, CURLOPT_CONNECTTIMEOUT_MS, 2500);
^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^
parameter: #1 #2 #3
Fun fact: var_dump(CURLOPT_CONNECTTIMEOUT_MS);
displays string(25) "CURLOPT_CONNECTTIMEOUT_MS"
. Just like the error states, it's a string instead of a float.
For some reason, CURLOPT_CONNECTTIMEOUT_MS
is defined incorrectly in your version of PHP. I'd check with whatever distribution of PHP you're using and find out whether it's a general bug.
The correct value is 156
: you should be able to use this instead:
curl_setopt($this->ch, /*CURLOPT_CONNECTTIMEOUT_MS */ 156, 2500);
NB that you really really really need to add comments explaining why you're doing this.
这篇关于PHP cURL超时不工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!