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

时间:2016-03-18 21:29:07

标签: php amazon-web-services sdk fatal-error

我最近在使用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

1 个答案:

答案 0 :(得分:0)

所以我添加了一个关闭函数来获取最后一个错误,因为\ 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
  • 无法打开manifest.json.php

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

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

因为我花了这么多时间,所以我认为我会传递信息。

-J