在使用PHP版本的TencentCloudSDK时候,参考链接有
https://github.com/TencentCloud/tencentcloud-sdk-php
推荐使用Composer安装TencentCloud-sdk-php
方法如下:
通过 Composer 获取安装是使用 PHP SDK 的推荐方法,Composer 是 PHP 的依赖管理工具,支持您项目所需的依赖项,并将其安装到项目中。关于 Composer 详细可参考 Composer 官网 。
unix环境在命令行中执行以下命令安装。
curl -sS https://getcomposer.org/installer | php
"tencentcloud/tencentcloud-sdk-php": "3.0.94"
require 'vendor/autoload.php';
然后根据云API Explorer获取人脸识别API在SDK下的调用Demo,复制Demo为一个php可运行文件到项目中直接运行即可,相关路径需要您自己核实修改
API Explorer工具地址:https://console.cloud.tencent.com/api/explorer?Product=iai&Version=2018-03-01&Action=AnalyzeFace&SignVersion=
可能会产生一些报错,如下图所示:
通过您提供的错误信息,可能是安装包中缺少某些文件或者路径错误导致的,为解决这个问题,请参考如下方式通过SDK调用人脸识别的API
步骤一:
下载SDK源码,下载地址如下:
https://tencent-1251123904.cos.ap-chengdu.myqcloud.com/tencentcloud-sdk-php.zip
步骤二:
将下载的源码放入解压后放入项目根目录,通过API Explorer获取人脸识别API在SDK下的调用Demo,复制Demo为一个php可运行文件到项目中直接运行即可,相关路径需要您自己核实修改
API Explorer工具地址:https://console.cloud.tencent.com/api/explorer?Product=iai&Version=2018-03-01&Action=AnalyzeFace&SignVersion=
或者文字识别类的云API控制台https://console.cloud.tencent.com/api/explorer?Product=ocr&Version=2018-11-19&Action=IDCardOCR&SignVersion=
当确定是文件路径的读取错误导致的问题,比如。
使用composer安装好后,可把云API控制台提供的引用代码“require_once '../../../TCloudAutoLoader.php';
改成添加以下引用代码,引用方法可参考示例
require_once 'vendor/autoload.php'
就不会再报错了。
<?php
require_once 'vendor/autoload.php';
use TencentCloud\Common\Credential;
use TencentCloud\Common\Profile\ClientProfile;
use TencentCloud\Common\Profile\HttpProfile;
use TencentCloud\Common\Exception\TencentCloudSDKException;
use TencentCloud\Ocr\V20181119\OcrClient;
use TencentCloud\Ocr\V20181119\Models\IDCardOCRRequest;
try {
$cred = new Credential("your-secretID", "your-secretKey");
$httpProfile = new HttpProfile();
$httpProfile->setEndpoint("ocr.tencentcloudapi.com");
$clientProfile = new ClientProfile();
$clientProfile->setHttpProfile($httpProfile);
$client = new OcrClient($cred, "ap-guangzhou", $clientProfile);
$req = new IDCardOCRRequest();
$params = '{"ImageUrl":"https://live.staticflickr.com/7390/8726139932_7fe2b3a9a8_b.jpg","CardSide":"FRONT"}';
$req->fromJsonString($params);
$resp = $client->IDCardOCR($req);
print_r($resp->toJsonString());
}
catch(TencentCloudSDKException $e) {
echo $e;
}
另外,还有一些环境配置上的问题,是一些用户容易忽略的,这些报错不属于云产品的问题,需要修正PHP环境的相关配置即可解决,如下分别讲述了两种常见问题:
如果是有代理的环境下,需要设置系统环境变量 https_proxy
,否则可能无法正常调用,抛出连接超时的异常。
如果你的 PHP 环境证书有问题,可能会遇到报错,类似于 cURL error 60: See http://curl.haxx.se/libcurl/c/libcurl-errors.html
,请尝试按如下步骤解决:
cacert.pem
,将其保存到 PHP 安装路径下。php.ini
文件,删除 curl.cainfo
配置项前的分号注释符(;),值设置为保存的证书文件 cacert.pem
的绝对路径。原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。