首页 > 解决方案 > PHP:在生产服务器上找不到 AWS 开发工具包类

问题描述

我安装了 AWS SDK 以及 Facebook 和 Google SDK。他们都在我当地的 MacOs 环境中正常工作。但是一旦我推送到我们的服务器,所有 AWS 客户端都无法正常工作。FB 和谷歌仍在生产中。

include_once(__DIR__ . "/../../../vendor/autoload.php");
use Aws\Rekognition\RekognitionClient;
use Aws\Sdk;
class RekognitionTest extends CI_Controller
{
private $client;

function __construct()
{
    $sharedConfig = [
        'version' => 'latest',
        'region' => 'us-east-1',
        'credentials' => [
            'key' => "xxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
            'secret' => "xxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
        ]
    ];
    $sdk = new Sdk($sharedConfig);
    $this->client = $sdk->createRekognition();
 }
}

在上面的代码中我收到错误:

PHP 致命错误:找不到类 'Aws\Sdk'

还尝试了使用以下方式启动客户端的不同方法:

$this->client = new RekognitionClient([
            'version' => 'latest',
            'region' => 'us-east-1',
            'credentials' => [
                'key' => "xxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
                'secret' => "xxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
            ]
        ]);

通过第二种方式,我得到:

PHP 致命错误:找不到类“Aws\Rekognition\RekognitionClient”

SDK 版本:“aws/aws-sdk-php”:“^3.82”

我不确定我在这里做错了什么。

标签: phplinuxamazon-web-servicessdk

解决方案


基于AWS SDK PHP Class Not Found我删除了通过 composer 下载的 SDK 并从 .zip https://github.com/aws/aws-sdk-php/releases再次安装它,效果很好。我不确定为什么作曲家文件与 zip 文件不同。


推荐阅读