滴滴云已全面下线,PHP无法对接其任何数据服务;自2023年12月31日起官网、API及所有基础设施终止运营,相关SDK调用均失败,须立即清理代码并迁移至阿里云OSS或腾讯云COS。

滴滴云已全面下线,PHP 无法再对接其任何数据服务。2023 年 12 月 31 日起,滴滴云官网、控制台、API 及所有基础设施服务正式终止运营,所有存量资源(包括对象存储 DDCOS、关系型数据库 DDB、缓存 DDCache 等)均已不可访问。
调用 ddcos SDK 报 Connection refused 或 cURL error 7
这是最典型的失效表现——不是配置错、不是 PHP 版本低、也不是签名算法没写对,而是目标域名(如 ddcos-api.didicloud.com)已 DNS 解析失败或服务器彻底下线。DNS 查询会返回 NXDOMAIN,cURL 尝试连接时直接超时或拒绝。
- 执行
ping ddcos-api.didicloud.com或nslookup ddcos-api.didicloud.com,结果为空或报错 - PHP 中
file_get_contents('https://ddcos-api.didicloud.com/...')会抛出failed to open stream: Connection refused - 即使旧版
didicloud-sdk-php包仍能composer install成功,运行时所有请求均不可达
代码里还留着 DdCosClient 和 putObject 调用怎么办
必须删除或注释掉全部相关逻辑,不能“先保留,等迁移完再清理”。残留调用会在上线后持续触发错误日志、消耗重试资源、甚至阻塞关键流程(比如上传头像卡在 putObject 上导致注册失败)。
- 搜索项目中所有
use DidiCloud\、new DdCosClient、$client->putObject、$client->getObject - 检查
composer.json是否含"didicloud/sdk-php",若有,运行composer remove didicloud/sdk-php - 若曾将 access key / secret 写进配置文件(如
config/didicloud.php),一并删除该文件及对应加载逻辑
想迁移到阿里云 OSS 或腾讯云 COS 怎么改最小
核心是替换客户端实例和方法签名,不需重写业务逻辑。以「上传文件」为例:
立即学习“PHP免费学习笔记(深入)”;
原滴滴云写法(已失效):
$client = new DdCosClient($accessKey, $secretKey); $client->putObject(['Bucket' => 'my-bucket', 'Key' => 'a.jpg', 'Body' => file_get_contents($path)]);
改为阿里云 OSS(需装 aliyun/oss-sdk-php):
$client = new \OSS\OssClient($accessKey, $secretKey, 'https://oss-cn-beijing.aliyuncs.com');
$client->putObject('my-bucket', 'a.jpg', file_get_contents($path));
注意三点:
- 构造函数第三个参数是 endpoint,不是 bucket 域名;滴滴云的 endpoint 是固定的,而阿里云/腾讯云需按地域选(如
oss-cn-shanghai、cos.ap-guangzhou.myqcloud.com) - 方法参数顺序不同:
putObject($bucket, $key, $body)vs 滴滴云的数组形式 - 错误处理机制不同:阿里云抛
\OSS\Core\OssException,腾讯云抛Qcloud\Cos\Exception\ServiceResponseException,需分别捕获
滴滴云服务本身不存在“兼容过渡期”,所有依赖它的 PHP 代码现在就处于生产故障边缘。真正要花时间的不是语法转换,而是确认历史数据是否已导出、新服务商的权限策略是否配对、以及 CDN 回源地址是否同步更新——这些比改几行 putObject 调用重要得多。



















