PHP:在生产服务器上找不到AWS开发工具包类

时间:2019-01-10 00:01:24

标签: php linux amazon-web-services sdk

我安装了AWS开发工具包以及Facebook和Google SDK。在我的本地MacOs环境中,所有这些都可以正常工作。但是,一旦我将服务器推送到所有服务器上,它们就无法正常工作。 FB和Google仍在生产中。

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”

我不确定我在做什么错。

1 个答案:

答案 0 :(得分:0)

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