如何解决Sonata 映像包 S3 配置不起作用 环境
环境
奏鸣曲包
sonata-project/admin-bundle 3.81.0 The missing Symfony Admin Generator
sonata-project/block-bundle 3.21.0 Symfony SonataBlockBundle
sonata-project/cache 2.0.1 Cache library
sonata-project/cache-bundle 3.2.1 This bundle provides caching services
sonata-project/datagrid-bundle 3.2.0 Symfony SonataDatagridBundle
sonata-project/doctrine-extensions 1.10.1 Doctrine2 behavioral extensions
sonata-project/doctrine-orm-admin-bundle 3.25.0 Integrate Doctrine ORM into the SonataAdminBundle
sonata-project/exporter 2.4.1 Lightweight Exporter library
sonata-project/form-extensions 1.7.0 Symfony form extensions
sonata-project/media-bundle 3.28.0 Symfony SonataMediaBundle
sonata-project/notification-bundle 3.10.0 Symfony SonataNotificationBundle
sonata-project/page-bundle 4.x-dev 4a17be4 This bundle provides a Site and Page management through container...
sonata-project/seo-bundle 2.12.0 Symfony SonataSeoBundle
sonata-project/twig-extensions 1.4.1 Sonata twig extensions
sonata-project/user-bundle 4.9.0 Symfony SonataUserBundle
Symfony 软件包
symfony-cmf/routing 2.3.3 Extends the Symfony routing component for dynamic routes and chai...
symfony-cmf/routing-bundle 2.4.1 Symfony RoutingBundle
symfony/asset v4.4.16 Symfony Asset Component
symfony/cache v4.4.16 Symfony Cache component with PSR-6,PSR-16,and tags
symfony/cache-contracts v2.2.0 Generic abstractions related to caching
symfony/config v4.4.16 Symfony Config Component
symfony/console v4.4.16 Symfony Console Component
symfony/debug v4.4.16 Symfony Debug Component
symfony/dependency-injection v4.4.16 Symfony DependencyInjection Component
symfony/doctrine-bridge v4.4.16 Symfony Doctrine Bridge
symfony/dotenv v4.4.16 Registers environment variables from a .env file
symfony/error-handler v4.4.16 Symfony ErrorHandler Component
symfony/event-dispatcher v4.4.16 Symfony EventDispatcher Component
symfony/event-dispatcher-contracts v1.1.9 Generic abstractions related to dispatching event
symfony/expression-language v4.4.16 Symfony ExpressionLanguage Component
symfony/filesystem v4.4.16 Symfony Filesystem Component
symfony/finder v4.4.16 Symfony Finder Component
symfony/flex v1.10.0 Composer plugin for Symfony
symfony/form v4.4.16 Symfony Form Component
symfony/framework-bundle v4.4.16 Symfony FrameworkBundle
symfony/http-client v4.4.16 Symfony HttpClient component
symfony/http-client-contracts v2.3.1 Generic abstractions related to HTTP clients
symfony/http-foundation v4.4.16 Symfony HttpFoundation Component
symfony/http-kernel v4.4.16 Symfony HttpKernel Component
symfony/inflector v4.4.16 Symfony Inflector Component
symfony/intl v4.4.16 A PHP replacement layer for the C intl extension that includes ad...
symfony/mime v4.4.16 A library to manipulate MIME messages
symfony/monolog-bridge v4.4.16 Symfony Monolog Bridge
symfony/monolog-bundle v3.6.0 Symfony MonologBundle
symfony/options-resolver v4.4.16 Symfony OptionsResolver Component
symfony/phpunit-bridge v5.1.8 Symfony PHPUnit Bridge
symfony/polyfill-intl-grapheme v1.20.0 Symfony polyfill for intl's grapheme_* functions
symfony/polyfill-intl-icu v1.20.0 Symfony polyfill for intl's ICU-related data and classes
symfony/polyfill-intl-idn v1.20.0 Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions
symfony/polyfill-intl-normalizer v1.20.0 Symfony polyfill for intl's Normalizer class and related functions
symfony/polyfill-mbstring v1.20.0 Symfony polyfill for the Mbstring extension
symfony/polyfill-php72 v1.20.0 Symfony polyfill backporting some PHP 7.2+ features to lower PHP ...
symfony/polyfill-php73 v1.20.0 Symfony polyfill backporting some PHP 7.3+ features to lower PHP ...
symfony/polyfill-php80 v1.20.0 Symfony polyfill backporting some PHP 8.0+ features to lower PHP ...
symfony/process v4.4.16 Symfony Process Component
symfony/property-access v4.4.16 Symfony PropertyAccess Component
symfony/routing v4.4.16 Symfony Routing Component
symfony/security-acl v3.1.0 Symfony Security Component - ACL (Access Control List)
symfony/security-bundle v4.4.16 Symfony SecurityBundle
symfony/security-core v4.4.16 Symfony Security Component - Core Library
symfony/security-csrf v4.4.16 Symfony Security Component - CSRF Library
symfony/security-guard v4.4.16 Symfony Security Component - Guard
symfony/security-http v4.4.16 Symfony Security Component - HTTP Integration
symfony/service-contracts v2.2.0 Generic abstractions related to writing services
symfony/stopwatch v4.4.16 Symfony Stopwatch Component
symfony/string v5.1.8 Symfony String component
symfony/swiftmailer-bundle v3.5.1 Symfony SwiftmailerBundle
symfony/templating v4.4.16 Symfony Templating Component
symfony/translation v4.4.16 Symfony Translation Component
symfony/translation-contracts v2.3.0 Generic abstractions related to translation
symfony/twig-bridge v4.4.16 Symfony Twig Bridge
symfony/twig-bundle v4.4.16 Symfony TwigBundle
symfony/validator v4.4.16 Symfony Validator Component
symfony/var-dumper v4.4.18 Symfony mechanism for exploring and dumping PHP variables
symfony/var-exporter v4.4.16 A blend of var_export() + serialize() to turn any serializable da...
symfony/web-profiler-bundle v4.4.16 Symfony WebProfilerBundle
symfony/webpack-encore-bundle v1.8.0 Integration with your Symfony app & Webpack Encore!
symfony/yaml v4.4.16 Symfony Yaml Component
PHP版本
$ php -v
# PHP 7.4.12 (cli) (built: Nov 5 2020 20:24:10) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0,Copyright (c) Zend Technologies
with Zend OPcache v7.4.12,Copyright (c),by Zend Technologies
主题
我尝试设置捆绑包以便在 AWS 上使用我的 S3 存储桶,但提供程序不起作用。 我已经阅读了所有官方文档并进行了数十次测试 https://sonata-project.org/bundles/media/3-x/doc/reference/amazon_s3.html
这是我的
sonata_media:
class:
media: App\Entity\SonataMediaMedia
gallery: App\Entity\SonataMediaGallery
gallery_has_media: App\Entity\SonataMediaGalleryHasMedia
db_driver: doctrine_orm # or doctrine_mongodb,doctrine_phpcr it is mandatory to choose one here
default_context: default # you need to set a context
contexts:
default: # the default context is mandatory
providers:
# - sonata.media.provider.dailymotion
# - sonata.media.provider.youtube
- sonata.media.provider.image
- sonata.media.provider.file
# - sonata.media.provider.vimeo
formats:
small: { width: 100,quality: 70}
big: { width: 500,quality: 70}
banks: # https://sonata-project.org/bundles/media/3-x/doc/reference/media_context.html
providers:
- sonata.media.provider.image
formats:
product_list: { width: 140,quality: 70}
product_detail: { width: 200,quality: 70}
cms_preview: { width: 100,quality: 70}
cms_relationship_preview: { width: 77,quality: 70}
cards:
providers:
- sonata.media.provider.image
formats:
card_list_mobile: { width: 136,quality: 70}
card_list_tablet: { width: 152,quality: 70}
card_list_desktop: { width: 157,quality: 70}
product_carousel: { width: 70,quality: 70}
cms_preview: { width: 90,quality: 70}
article_mobile: { width: 371,quality: 70}
article_tablet: { width: 386,quality: 70}
article_desktop: { width: 628,quality: 70}
cdn:
server:
path: "https://bucketname.s3.region.amazonaws.com" # http://media.sonata-project.org
filesystem:
local:
directory: "%kernel.root_dir%/../public/uploads/media"
create: false
s3:
bucket: '%env(S3_BUCKET)%'
accessKey: '%env(AWS_ACCESS_KEY_ID)%'
secretKey: '%env(AWS_SECRET_ACCESS_KEY)%'
create: true
region: region
version: 'latest' # change according the API version you are using
storage: standard # can be one of: standard or reduced
acl: public # can be one of: public,private,open,auth_read,owner_read,owner_full_control
cache_control: max-age=86400 # or any other"
directory: "public/uploads/media/"
providers:
file:
service: sonata.media.provider.file
resizer: false
filesystem: sonata.media.filesystem.s3
cdn: sonata.media.cdn.server
generator: sonata.media.generator.default
thumbnail: sonata.media.thumbnail.format
allowed_extensions: ['pdf','txt','rtf','doc','docx','xls','xlsx','ppt','pttx','odt','odg','odp','ods','odc','odf','odb','csv','xml']
allowed_mime_types: ['application/pdf','application/x-pdf','application/rtf','text/html','text/rtf','text/plain']
image:
service: sonata.media.provider.image
resizer: sonata.media.resizer.simple # sonata.media.resizer.square
filesystem: sonata.media.filesystem.s3
cdn: sonata.media.cdn.server
generator: sonata.media.generator.default
thumbnail: sonata.media.thumbnail.liip_imagine
allowed_extensions: ['jpg','png','jpeg']
allowed_mime_types: ['image/pjpeg','image/jpeg','image/png','image/x-png']
当我尝试通过普通媒体管理器上传新图像时,所以 /admin/app/sonatamediamedia/create 我总是有这个错误
The "default/0001/01/61fc4b8aa4950c91850a23e5261c8c210613512e.png" file does not exist or is not readable.
这是堆栈跟踪
Symfony\Component\Mime\Exception\InvalidArgumentException:
The "default/0001/01/61fc4b8aa4950c91850a23e5261c8c210613512e.png" file does not exist or is not readable.
at vendor/symfony/mime/FileinfoMimeTypeGuesser.php:50
at Symfony\Component\Mime\FileinfoMimeTypeGuesser->guessMimeType('default/0001/01/61fc4b8aa4950c91850a23e5261c8c210613512e.png')
(vendor/symfony/mime/MimeTypes.php:134)
at Symfony\Component\Mime\MimeTypes->guessMimeType('default/0001/01/61fc4b8aa4950c91850a23e5261c8c210613512e.png')
(vendor/sonata-project/media-bundle/src/Metadata/AmazonMetadataBuilder.php:123)
at Sonata\MediaBundle\Metadata\AmazonMetadataBuilder->getContentType('default/0001/01/61fc4b8aa4950c91850a23e5261c8c210613512e.png')
(vendor/sonata-project/media-bundle/src/Metadata/AmazonMetadataBuilder.php:68)
at Sonata\MediaBundle\Metadata\AmazonMetadataBuilder->get(object(SonataMediaMedia),'default/0001/01/61fc4b8aa4950c91850a23e5261c8c210613512e.png')
(vendor/sonata-project/media-bundle/src/Metadata/ProxyMetadataBuilder.php:88)
at Sonata\MediaBundle\Metadata\ProxyMetadataBuilder->getAmazonBuilder(object(SonataMediaMedia),'default/0001/01/61fc4b8aa4950c91850a23e5261c8c210613512e.png')
(vendor/sonata-project/media-bundle/src/Metadata/ProxyMetadataBuilder.php:56)
at Sonata\MediaBundle\Metadata\ProxyMetadataBuilder->get(object(SonataMediaMedia),'default/0001/01/61fc4b8aa4950c91850a23e5261c8c210613512e.png')
(vendor/sonata-project/media-bundle/src/Provider/FileProvider.php:375)
at Sonata\MediaBundle\Provider\FileProvider->setFileContents(object(SonataMediaMedia))
(vendor/sonata-project/media-bundle/src/Provider/FileProvider.php:143)
at Sonata\MediaBundle\Provider\FileProvider->postPersist(object(SonataMediaMedia))
(vendor/sonata-project/media-bundle/src/Listener/BaseMediaEventSubscriber.php:67)
at Sonata\MediaBundle\Listener\BaseMediaEventSubscriber->postPersist(object(LifecycleEventArgs))
(vendor/symfony/doctrine-bridge/ContainerAwareEventManager.php:58)
at Symfony\Bridge\Doctrine\ContainerAwareEventManager->dispatchEvent('postPersist',object(LifecycleEventArgs))
(vendor/doctrine/orm/lib/Doctrine/ORM/Event/ListenersInvoker.php:117)
at Doctrine\ORM\Event\ListenersInvoker->invoke(object(ClassMetadata),'postPersist',object(SonataMediaMedia),object(LifecycleEventArgs),4)
(vendor/doctrine/orm/lib/Doctrine/ORM/UnitOfWork.php:1117)
at Doctrine\ORM\UnitOfWork->executeInserts(object(ClassMetadata))
(vendor/doctrine/orm/lib/Doctrine/ORM/UnitOfWork.php:400)
at Doctrine\ORM\UnitOfWork->commit(null)
(vendor/doctrine/orm/lib/Doctrine/ORM/EntityManager.php:370)
at Doctrine\ORM\EntityManager->flush()
(vendor/sonata-project/doctrine-orm-admin-bundle/src/Model/ModelManager.php:184)
at Sonata\DoctrineORMAdminBundle\Model\ModelManager->create(object(SonataMediaMedia))
(vendor/sonata-project/admin-bundle/src/Admin/AbstractAdmin.php:781)
at Sonata\AdminBundle\Admin\AbstractAdmin->create(object(SonataMediaMedia))
(vendor/sonata-project/admin-bundle/src/Controller/CRUDController.php:601)
at Sonata\AdminBundle\Controller\CRUDController->createAction()
(vendor/sonata-project/media-bundle/src/Controller/MediaAdminController.php:42)
at Sonata\MediaBundle\Controller\MediaAdminController->createAction(object(Request))
(vendor/symfony/http-kernel/HttpKernel.php:158)
at Symfony\Component\HttpKernel\HttpKernel->handleRaw(object(Request),1)
(vendor/symfony/http-kernel/HttpKernel.php:80)
at Symfony\Component\HttpKernel\HttpKernel->handle(object(Request),1,true)
(vendor/symfony/http-kernel/Kernel.php:201)
at Symfony\Component\HttpKernel\Kernel->handle(object(Request))
(public/index.php:25)
如果我更改提供程序文件系统选项, 文件系统:sonata.media.filesystem.local 它工作正常!!!
谁能给我一个线索?! 从 2 天起,我就一直在为此而苦苦挣扎...
谢谢
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。