PHP SDK 上传日志

最近更新时间:2025-07-07 16:15:22

我的收藏
本文介绍如何快速使用日志服务的 PHP SDK 实现日志上传的操作。更多 SDK 使用的详细内容,请参见代码仓库 tencentcloud-cls-sdk-php

前提条件

创建并获取云 API 密钥信息 accessKeyId 和 accessKey,密钥信息获取请前往 API 密钥管理
请确保密钥关联的账号具有相应的 SDK 上传日志权限

准备开发环境

请先安装 PHP,详情请参见 PHP 官网
日志服务 PHP SDK 支持 PHP 5.6.0及以上版本。您可以执行如下命令检查您已安装的 PHP 版本。
php -v
执行如下命令安装环境依赖:
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer

安装 PHP SDK

使用 Composer 安装腾讯云 CLS 的 PHP SDK。
composer require tencentcloud/tencentcloud-cls-sdk-php

请求参数

变量
类型
是否必填
说明
endpoint
String
域名信息,填写请参见 可用地域 中 API上传日志 Tab 中的域名。
accessKeyId
String
云 API 密钥信息,密钥信息获取请前往 API 密钥管理。并请确保密钥关联的账号具有相应的 SDK 上传日志权限
accessKey
String
云API 密钥信息,密钥信息获取请前往 API 密钥管理。并请确保密钥关联的账号具有相应的 SDK 上传日志权限
topicId
String
日志主题的 ID 信息。
token
String
临时密钥 token,如需使用临时密钥可填入此参数。临时密钥 token 获取请参见 临时密钥配置指引

日志上传示例代码

以 PHP SDK 为例,展示通过调用 SDK 完成日志上传的操作,示例代码如下所示。
不建议将云 API 密钥信息明文存储至工程代码中,可通过环境变量动态获取云 API 密钥信息,具体操作请参见 配置环境变量
<?php

require_once __DIR__ . '/vendor/autoload.php'; // 引入 Composer 自动加载器

use TencentCloud\\Cls\\Models\\Request\\PutLogsRequest;
use TencentCloud\\Cls\\Models\\LogItem;
use TencentCloud\\Cls\\Client;
use TencentCloud\\Cls\\TencentCloudLogException;

function putLogs($client, $topicId) {
$contents = array(
//设置日志的 key 和 value 内容,前面是 key,后面是 value
'TestKey' => 'TestContent',
'test2' => 'helloworld'
);

$logItem = new LogItem();
$logItem->setTime(time()); // 设置日志时间
$logItem->setContents($contents); // 设置日志内容
$logItems = array($logItem); // 创建日志项数组

$request = new PutLogsRequest($topicId, null, $logItems); // 创建请求

try {
$response = $client->putLogs($request); // 发送请求
var_dump($response->getRequestId()); // 输出请求 ID
} catch (TencentCloudLogException $ex) {
var_dump($ex); // 捕获并输出腾讯云日志异常
} catch (Exception $ex) {
var_dump($ex); // 捕获并输出其他异常
}
}

// 填入域名信息,请参见链接中 API 上传日志 Tab 中的域名:https://cloud.tencent.com/document/product/614/18940#.E5.9F.9F.E5.90.8D
$endpoint = 'ap-xxxxxxxx.cls.tencentcs.com';

// 填入云 API 密钥信息。密钥信息获取请前往:https://console.cloud.tencent.com/cam/capi
// 并请确保密钥关联的账号具有相应的日志上传权限,权限配置指引:https://cloud.tencent.com/document/product/614/68374#.E4.BD.BF.E7.94.A8-api-.E4.B8.8A.E4.BC.A0.E6.95.B0.E6.8D.AE
// 本示例从环境变量中获取,环境变量配置指引:https://cloud.tencent.com/document/product/614/113851
$accessKeyId = getenv('TENCENTCLOUD_SECRET_ID');
$accessKey = getenv('TENCENTCLOUD_SECRET_KEY');

// 设置要上传日志的主题 ID,替换为您的 Topic ID
$topicId = 'YOUR_TOPIC_ID';

// 临时密钥的 token,如需使用临时密钥可填入。临时密钥配置指引:https://cloud.tencent.com/document/product/614/87777
$token = "";

// 创建客户端
$client = new Client($endpoint, $accessKeyId, $accessKey, $token);

// 调用函数发送日志
putLogs($client, $topicId);

结语

通过以上步骤,您可以快速使用腾讯云 CLS 的 PHP SDK 完成日志的上传操作。如遇到任何问题,请 联系我们 获取帮助。