【问题标题】:PHP: AWS SDK Class not found on production serverPHP:在生产服务器上找不到 AWS 开发工具包类
【发布时间】:2019-01-10 00:01:24
【问题描述】:

我安装了 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”

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

【问题讨论】:

  • 你运行composer install命令了吗?
  • 我在安装 sdk 时在本地运行它,但没有在服务器上运行。我只是通过 git 推送代码
  • 您很可能忽略了 vendor 文件夹提交到您的 git 存储库。尝试在您的 AWS 服务器上运行 composer install
  • 不,供应商不会被忽略。因为 FB 和 Google sdks 是通过我本地的 composer 安装的,它们可以正常工作

标签: php linux amazon-web-services sdk


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2015-10-17
    • 2021-12-27
    • 1970-01-01
    • 2013-01-02
    • 1970-01-01
    • 2021-03-09
    • 1970-01-01
    • 2016-07-16
    • 2019-04-27
    相关资源
    最近更新 更多