0

0

短链接还原php超时怎么办_增加请求超时时间设置【说明】

蓮花仙者

蓮花仙者

发布时间:2026-01-03 20:19:33

|

595人浏览过

|

来源于php中文网

原创

cURL超时返回0表示本地请求超时而非服务器响应,需分别设置CURLOPT_CONNECTTIMEOUT(5~10秒)和CURLOPT_TIMEOUT(建议30秒起),并保留SSL验证、记录错误日志以精准定位阻塞点。

短链接还原php超时怎么办_增加请求超时时间设置【说明】

curl_getinfo 返回 0 表示请求超时,不是目标服务器返回 0

PHP 中用 curl_exec() 获取短链接跳转后的真实 URL 时,如果返回 falsecurl_getinfo($ch, CURLINFO_HTTP_CODE)0,基本可以断定是 cURL 本身超时,而非目标站返回了状态码 0。这时候不能去查对方服务是否异常,得先调高本地请求的等待上限。

设置 CURLOPT_TIMEOUT 和 CURLOPT_CONNECTTIMEOUT 要分开处理

短链跳转常涉及多次重定向(301/302),网络路径不可控,只设 CURLOPT_TIMEOUT 不够。必须同时控制连接建立阶段和整个请求生命周期:

AdsGo AI
AdsGo AI

全自动 AI 广告专家,助您在数分钟内完成广告搭建、优化及扩量

下载
  • CURLOPT_CONNECTTIMEOUT:仅限制 TCP 连接建立时间,建议设为 510 秒,避免卡在 DNS 解析或防火墙拦截上
  • CURLOPT_TIMEOUT:总耗时上限,含重定向、SSL 握手、响应读取,建议从 30 起步,视业务容忍度调整
  • 若需兼容慢速网络或海外跳转,可额外启用 CURLOPT_FOLLOWLOCATION 并配 CURLOPT_MAXREDIRS(如 5),防止无限跳转拖垮超时逻辑

别忽略 CURLOPT_SSL_VERIFYPEER 和错误抑制的副作用

有些短链服务用自签名证书或旧 TLS 协议,盲目加 CURLOPT_SSL_VERIFYPEER => false 看似能“快点跑通”,实则可能掩盖真实超时原因——比如 SSL 握手失败后 cURL 会静默重试,叠加超时设置反而更难定位。建议:

  • 先保留证书验证,用 curl_error($ch) 检查是否报 SSL connect errorUnknown SSL protocol error
  • 确认是证书问题再临时禁用,并记录日志,而不是默认关闭
  • 避免用 @file_get_contents() 替代 cURL,它不支持细粒度超时,且无法获取跳转链路中的中间 URL
function resolveShortUrl($url) {
    $ch = curl_init();
    curl_setopt_array($ch, [
        CURLOPT_URL => $url,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_HEADER => false,
        CURLOPT_FOLLOWLOCATION => true,
        CURLOPT_MAXREDIRS => 5,
        CURLOPT_CONNECTTIMEOUT => 10,
        CURLOPT_TIMEOUT => 30,
        CURLOPT_USERAGENT => 'Mozilla/5.0 (compatible; ShortUrlResolver/1.0)',
        CURLOPT_SSL_VERIFYPEER => true,
        CURLOPT_SSL_VERIFYHOST => 2,
    ]);
    $content = curl_exec($ch);
    $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    $redirectUrl = curl_getinfo($ch, CURLINFO_EFFECTIVE_URL);
    $error = curl_error($ch);
    curl_close($ch);

    if ($content === false || $httpCode === 0) {
        throw new Exception("cURL failed: {$error} (HTTP code: {$httpCode})");
    }

    return $redirectUrl;
}
超时不是越设越大就越稳,关键是把连接、握手、重定向、响应各阶段的阻塞点拆开看;很多“还原失败”实际卡在 DNS 或中间代理,而不是目标服务器慢。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
curl_exec
curl_exec

curl_exec函数是PHP cURL函数列表中的一种,它的功能是执行一个cURL会话。给大家总结了一下php curl_exec函数的一些用法实例,这个函数应该在初始化一个cURL会话并且全部的选项都被设置后被调用。他的返回值成功时返回TRUE, 或者在失败时返回FALSE。

455

2023.06.14

linux常见下载安装工具
linux常见下载安装工具

linux常见下载安装工具有APT、YUM、DNF、Snapcraft、Flatpak、AppImage、Wget、Curl等。想了解更多linux常见下载安装工具相关内容,可以阅读本专题下面的文章。

183

2023.10.30

scripterror怎么解决
scripterror怎么解决

scripterror的解决办法有检查语法、文件路径、检查网络连接、浏览器兼容性、使用try-catch语句、使用开发者工具进行调试、更新浏览器和JavaScript库或寻求专业帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

513

2023.10.18

500error怎么解决
500error怎么解决

500error的解决办法有检查服务器日志、检查代码、检查服务器配置、更新软件版本、重新启动服务、调试代码和寻求帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

384

2023.10.25

SSL检测工具介绍
SSL检测工具介绍

SSL检测工具有SSL Labs、SSL Check、SSL Server Test、SSLMate、SSL/TLS Analyzer等。详细介绍:1、SSL Labs是一个由Qualys提供的在线SSL检测工具,可以评估服务器证书的部署情况、加密套件、协议支持等方面的安全性,它提供了一个详细的报告,包括证书的颁发者、有效期、安全性配置等;2、SSL Check等等。

356

2023.10.20

chatgpt官网入口地址合集
chatgpt官网入口地址合集

本专题整合了chatgpt官网入口地址、使用教程等内容,阅读专题下面的文章了解更多详细内容。

0

2026.03.16

minimax入口地址汇总
minimax入口地址汇总

本专题整合了minimax相关入口合集,阅读专题下面的文章了解更多详细地址。

4

2026.03.16

C++多线程并发控制与线程安全设计实践
C++多线程并发控制与线程安全设计实践

本专题围绕 C++ 在高性能系统开发中的并发控制技术展开,系统讲解多线程编程模型与线程安全设计方法。内容包括互斥锁、读写锁、条件变量、原子操作以及线程池实现机制,同时结合实际案例分析并发竞争、死锁避免与性能优化策略。通过实践讲解,帮助开发者掌握构建稳定高效并发系统的关键技术。

7

2026.03.16

TypeScript类型系统进阶与大型前端项目实践
TypeScript类型系统进阶与大型前端项目实践

本专题围绕 TypeScript 在大型前端项目中的应用展开,深入讲解类型系统设计与工程化开发方法。内容包括泛型与高级类型、类型推断机制、声明文件编写、模块化结构设计以及代码规范管理。通过真实项目案例分析,帮助开发者构建类型安全、结构清晰、易维护的前端工程体系,提高团队协作效率与代码质量。

114

2026.03.13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP课程
PHP课程

共137课时 | 13.7万人学习

JavaScript ES5基础线上课程教学
JavaScript ES5基础线上课程教学

共6课时 | 11.3万人学习

PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 1.0万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号