首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PHP使用TencentCloud-sdk常见问题

PHP使用TencentCloud-sdk常见问题

原创
作者头像
Aalto
修改2020-01-14 14:50:39
7.7K3
修改2020-01-14 14:50:39
举报
文章被收录于专栏:晓说AI晓说AI

在使用PHP版本的TencentCloudSDK时候,参考链接有

https://github.com/TencentCloud/tencentcloud-sdk-php

推荐使用Composer安装TencentCloud-sdk-php

方法如下:

通过 Composer 安装

通过 Composer 获取安装是使用 PHP SDK 的推荐方法,Composer 是 PHP 的依赖管理工具,支持您项目所需的依赖项,并将其安装到项目中。关于 Composer 详细可参考 Composer 官网 。

  1. 安装Composer: windows环境请访问Composer官网下载安装包安装。

unix环境在命令行中执行以下命令安装。

curl -sS https://getcomposer.org/installer | php

  1. 在 composer.json 的 require 结构体中加入依赖。注意这里的版本号只是举例,您可以在composer仓库上看到最新的版本号(3.0.120)。

"tencentcloud/tencentcloud-sdk-php": "3.0.94"

  1. 运行 composer install 下载安装 PHP SDK。
  2. 添加以下引用代码,引用方法可参考示例。

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,请尝试按如下步骤解决:

  1. https://curl.haxx.se/ca/cacert.pem 下载证书文件 cacert.pem,将其保存到 PHP 安装路径下。
  2. 编辑 php.ini 文件,删除 curl.cainfo 配置项前的分号注释符(;),值设置为保存的证书文件 cacert.pem 的绝对路径。
  3. 重启依赖 PHP 的服务。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 通过 Composer 安装
  • 方法二
  • 相关配置问题
    • 代理
      • 证书问题
      相关产品与服务
      人脸识别
      腾讯云神图·人脸识别(Face Recognition)基于腾讯优图强大的面部分析技术,提供包括人脸检测与分析、比对、搜索、验证、五官定位、活体检测等多种功能,为开发者和企业提供高性能高可用的人脸识别服务。 可应用于在线娱乐、在线身份认证等多种应用场景,充分满足各行业客户的人脸属性识别及用户身份确认等需求。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档