PHP cURL超时不工作 [英] PHP cURL timeout is not working

查看:500
本文介绍了PHP cURL超时不工作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我遇到服务器问题。我运行一个本地服务器(用于开发),我已经将我的本地服务器从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

code>:您应该能够使用这个:

  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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆