Pav*_*kin 1 sonata-media-bundle symfony4
我在Symfony 4应用程序上安装Sonata Media Bundle时出现了一些错误,这些应用程序与Symfony 2.8无关.
第一个错误:
sensio/generator-bundle v3.1.6 requires symfony/framework-bundle ~2.7|~3.0
Run Code Online (Sandbox Code Playgroud)
下一个,解决了前一个:
- php-amqplib/php-amqplib v2.7.0 requires ext-bcmath * -> the requested PHP extension bcmath is missing from your system.
Run Code Online (Sandbox Code Playgroud)
另一个:
Unrecognized options "naming_strategy, auto_mapping, mappings" under "doctrine.orm"
Run Code Online (Sandbox Code Playgroud)
然后,当我尝试清除缓存时:
Class Application\Sonata\MediaBundle\ApplicationSonataMediaBundle not found in home/user/projects/svoya-fignia/config/services.yaml (which is loaded in resource "/home/user/projects/svoya-fignia/config/services.yaml").
Run Code Online (Sandbox Code Playgroud)
或者这个
Class Sonata\MediaBundle\PHPCR\BaseGalleryHasMediaRepository not found in home/user/projects/svoya-fignia/config/services.yaml (which is loaded in resource "/home/user/projects/svoya-fignia/config/services.yaml").
Run Code Online (Sandbox Code Playgroud)
我找到了所有这些解决方案,但是花了一些时间,所以我想在这里为遇到这个问题的每个人发布.
sensio/generator-bundle通过要求开发版本来解决第一个错误sonata-media-bundle:
composer require sonata-project/media-bundle:3.x-dev
Run Code Online (Sandbox Code Playgroud)
下一个的解决方案很明显,但无论如何:
sudo yum install php-bcmath
Run Code Online (Sandbox Code Playgroud)
要么
sudo apt-get install php-bcmath
Run Code Online (Sandbox Code Playgroud)
这里解决了无法识别的选项问题:Symfony doctrine auto_mapping无法识别
最后,找不到的类的问题是由symfony自动装配引起的,应该通过向Application被排除的目录添加目录来解决:
# services.yaml
services:
App\:
resource: '../src/*'
exclude: '../src/{Entity,Migrations,Tests,Application}'
Run Code Online (Sandbox Code Playgroud)
如果你有什么要补充的,或者我的解决方案不是最好的,请告诉我,我会更新这篇文章.
| 归档时间: |
|
| 查看次数: |
1779 次 |
| 最近记录: |