初始化后出现 AWS PHP SDK v3 致命错误 - 打开清单 .json.php 失败


AWS PHP SDK v3 fatal error after initialization - failed opening manifest.json.php

我最近遇到了 AWS PHP SDK 的问题,需要一段时间才能弄清楚,所以我将在此处发布解决方案。 希望它能为某人节省一些时间。

我推送了我的代码,发现这段代码会导致致命错误:

public static function fetchAWS() {
        $sharedConfig = [ 
                'region' => 'us-east-1',
                'version' => 'latest',
                'credentials' => [ 
                        'key' => self::AWS_APPKEY,
                        'secret' => self::AWS_APPSEC 
                ] 
        ];

    return new 'Aws'Sdk ( $sharedConfig );
}
$aws = Class::fetchAWS ();
$ses = $aws->createSes ();

此代码传递了 fetchAWS(),但在调用 createSes() 时导致致命异常且没有错误。

-J

所以我添加了一个关闭函数来获取自 ''AWS''SDK 调用基本上死亡以来的最后一个错误:

register_shutdown_function(function ()
        {
            if ($e = error_get_last()) {
                error_log('LAST ERROR---->'. $e['message'] . " in " . $e['file'] . ' line ' . $e['line']);
            }
        });

我使用 ZF2,所以这个链接很有帮助:http://webconsults.eu/blog/entry/78-Error_Handling_for_Debugging_in_Zend_Framework_2

我得到的是这个错误:

[client 10.180.199.98:54888] LAST ERROR---->include(): Failed opening '/var/www/dev-php/vendor/aws/aws-sdk-php/src/data/manifest.json.php' for inclusion (include_path='.:/usr/share/pear:/usr/share/php') in /var/www/dev-php/vendor/aws/aws-sdk-php/src/functions.php line 144
  • 打开清单失败.json.php

我有一个工作服务器,所以我比较了文件夹,发现SDK没有正确传输(例如,问题服务器上缺少src/data目录)。 我不得不这样做,因为一些低端弹性 beanstalk 实例无法组合,因此更容易推送供应商文件夹。

无论如何,我获取了作曲家并在实例(fedora)上构建,问题消失了。

由于这花了这么多时间,我想我会传递信息。

-J