[英]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.