【问题标题】:If page load time takes too long如果页面加载时间过长
【发布时间】:2020-06-13 14:54:14
【问题描述】:

我有一个 curl 脚本,如果页面未加载,我想将其包装在 if 条件中以继续进行。是否可以检查页面加载时间 > 如果花费时间过长 > 仍然继续?

if(pageLoad != TooMuchTime {
  //Curl script to some url
} else {
  //Took to long to get a responce
}

我这样做的原因是因为我使用 curl 请求作为安装脚本的一部分(用于跟踪安装),curl 调用是针对将数据插入数据库的 php 文件。如果由于任何原因(网络拥塞、站点关闭等)页面无法加载,我希望用户仍然能够安装产品。

【问题讨论】:

  • 你可以使用curl_getinfo,但是如果页面加载了,为什么它需要多长时间? curl 有超时选项,将其设置为 TooMuchTime 并处理错误.. 否则我们需要发出 2 个不理想的请求
  • 也许stackoverflow.com/questions/2582057/… 是个不错的话题?
  • Curl 具有控制各种超时的选项。设置你感兴趣的并处理错误。
  • 我更新了 OP 以包括我如何使用它,以及为什么我想要这样的功能。也许那时有人会为我提供替代解决方案。
  • 感谢@user3783243 的帮​​助

标签: php curl page-load-time


【解决方案1】:

Curl 提供选项来实现所需的操作,不需要 if 条件。

CURLOPT_CONNECTTIMEOUT - 尝试连接时等待的秒数。使用 0 无限期等待。 CURLOPT_TIMEOUT - 允许 cURL 函数执行的最大秒数。

curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0); 
curl_setopt($ch, CURLOPT_TIMEOUT, 400); //timeout in seconds

【讨论】:

    猜你喜欢
    • 2011-11-21
    • 1970-01-01
    • 2014-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-24
    相关资源
    最近更新 更多