【问题标题】:500 Internal server error - Request Timeout CURL PHP500 内部服务器错误 - 请求超时 CURL PHP
【发布时间】:2017-02-07 17:25:58
【问题描述】:

您好,我需要了解一下这个错误。我使用 curl 发送循环数据,该数据需要花费太多时间来发送。我将 max_execution_time 限制设置为 900。那么为什么会发生此请求超时。是服务器问题还是php.ini 问题。

注意:我的代理正在运行并且速度很快。我循环发送数据。所以在 1mint 之后显示这个错误。在标题中说500 Internal server error,在正文中说Request Timeout

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_PROXY, $proxy);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_HEADER, 0); 
curl_setopt($ch, CURLOPT_USERAGENT,'Opera/9.80 (Series 60; Opera Mini/6.5.27309/34.1445; U; en) Presto/2.8.119 Version/11.10');
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

echo  $data = curl_exec($ch);

curl_close($ch);

【问题讨论】:

  • 显示导致这个超时的代码,你可能有一些东西的无限循环。
  • 我再次更新我的问题检查,谢谢
  • 看起来不错。可能是您的代理减慢了速度。
  • 您的标题显示“500 内部服务器错误”,而您的问题文本显示“此请求超时”。请edit您的问题包含您看到的实际错误消息,并更新标题以更具体。
  • 您真的在使用代理吗?是否需要进行身份验证?你能通过浏览器成功访问 $url 吗?使用相同的代理?

标签: php server centos7


【解决方案1】:

您可以将 curl 超时时间从 10 秒(就像您现在在代码中一样)从

curl_setopt($ch, CURLOPT_TIMEOUT, 10);

到 900 秒,像这样:

curl_setopt($ch, CURLOPT_TIMEOUT, 900);

这些数字是秒(不是 100% 确定)。也可以根据 curl 文档找到here

【讨论】:

  • 来自手册“CURLOPT_TIMEOUT:允许执行 cURL 函数的最大 秒数” - 所以你是对的!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-09-20
  • 1970-01-01
  • 2022-10-23
  • 2020-07-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多