繁体   English   中英

适用于 Laravel 的 AWS 开发工具包出现 PHP 致命错误

[英]AWS SDK for Laravel giving PHP fatal error

我安装了https://github.com/aws/aws-sdk-php-laravel SDK 并按照 readme.md 中的说明进行操作。 安装了所有东西,我将我的密钥、秘密、区域等放在/app/config/packages/aws/aws-sdk-php-laravel

我得到的错误

PHP Fatal error:  Class 'Aws\Common\Aws' not found in /Volumes/Data/Users/chris/Sites/ln.com/vendor/aws/aws-sdk-php-laravel/src/Aws/Laravel/AwsServiceProvider.php on line 48
{"error":{"type":"Symfony\\Component\\Debug\\Exception\\FatalErrorException","message":"Class 'Aws\\Common\\Aws' not found","file":"\/Volumes\/Data\/Users\/chris\/Sites\/ln.com\/vendor\/aws\/aws-sdk-php-laravel\/src\/Aws\/Laravel\/AwsServiceProvider.php","line":48}}

上面引用的那个文件的第 48 行简单地说:

$aws = Aws::factory($config);

我按照说明安装

我把我的提供者和别名放在 /app/config/app.php 中:

'Aws\Laravel\AwsServiceProvider'

在提供者数组中。

我输入:

'AWS' => 'Aws\Laravel\AwsFacade'

在别名部分。

然后,我尝试使用它们相同的用法示例:

    $s3 = AWS::get('s3');
$s3->putObject(array(
    'Bucket'    => 'My Bucket',
    'Key'       => 'My Key',
    'SourceFile'=> Config::get('settings.ProcessListings.image_dir') . $listing->mls_listing_id . "/test.txt"
                ));

我试过的

我唯一的想法是在我试图在其中使用 SDK 的文件中,在顶部我有:

    use Illuminate\Console\Command;
    use Symfony\Component\Console\Input\InputOption;
    use Symfony\Component\Console\Input\InputArgument;

我补充说:

use Aws\Laravel\AwsFacade;
use Aws\Laravel\AwsServiceProvider;

和两者的组合,但都不起作用。 有任何想法吗?

您的问题出在aws/aws-sdk-php中的Aws\\Common\\Aws类中,该类对作曲家(自动加载器)不可用。 这些是通常修复 Laravel 的步骤,当发生这样的事情并且问题不在你的源代码上时,当然:

cd /your/application/dir

rm bootstrap/compiled.php

rm -rf vendor (or just rename your vendor folder to test)

composer update --no-dev

我知道我迟到了,但是我最近遇到了这个问题,我不想删除我编译的包。 就我而言,运行php artisan config:cache会引发该错误。 所以我做了什么,我在bootstrap/cache/services.php找到了Aws\\\\Laravel\\\\AwsServiceProvider并删除了它们解决了这个问题。

只是作曲家更新对我有用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM