服务 "fos_user.mailer" 依赖于不存在的服务 "templating"
The service "fos_user.mailer" has a dependency on a non-existent service "templating"
所以,在我为几个 Symfony 项目使用 FOSUserBundle 之后,突然开始出现上述错误。
我试过包含模板服务(现在两次),看起来安装正常。这是我的 composer.json:
中的需求列表
"require": {
"php": ">=5.5.9",
"doctrine/doctrine-bundle": "^1.6",
"doctrine/orm": "^2.5",
"friendsofsymfony/user-bundle": "^2.0",
"incenteev/composer-parameter-handler": "^2.0",
"sensio/distribution-bundle": "^5.0.19",
"sensio/framework-extra-bundle": "^5.0.0",
"symfony/monolog-bundle": "^3.1.0",
"symfony/polyfill-apcu": "^1.0",
"symfony/swiftmailer-bundle": "^2.6.4",
"symfony/symfony": "3.4.*",
"symfony/templating": "^3.4",
"twig/twig": "^1.0||^2.0"
},
我像往常一样设置了 config.yml、security.yml 和 routing.yml 文件,并将包包含在 AppKernel.php 文件中。我还创建了 User.php 实体,但每次我尝试清除缓存或更新数据库时,我都会收到此错误。
The service "fos_user.mailer" has a dependency on a non-existent
service "templating"
经过大量搜索,我找不到解决此问题的位置。非常感谢任何对此的帮助,因为这是以前从未发生过的事情,而且我一直使用 FOSUserBundle 来满足我的安全需求。
我刚刚遇到了完全相同的问题。有趣的是,我在创建 Symfony 3.4 项目之前创建了一个 Symfony 3.3 项目,而 Symfony 3.3 项目没有这个问题。所以他们一定已经删除了 3.4 版本的模板组件。
要解决您的问题,您必须使用 composer 安装模板组件:
composer require symfony/templating
然后,在你的config.yml中的framework
键下添加如下配置:
templating:
engines: ['twig']
更新: 我最近不得不用 FOSUserBundle 启动一个新的 Symfony 3.4 项目,发现我只需要将上述配置添加到我的 config.yml 文件中(如在 ) 中提到过。
在 Symfony 3.4 和 FosUserBundle 2.0 中,将服务邮件程序添加到 fos_user
配置中:
fos_user:
db_driver: orm # other valid values are 'mongodb' and 'couchdb'
firewall_name: main
user_class: AppBundle\Entity\User
service: # this lines
mailer: fos_user.mailer.twig_swift # this lines
from_email:
address: "%mailer_user%"
sender_name: "%mailer_user%
就我而言,在 config.yml 中进行如下更改后即可使用:
# FOSUser Configuration
fos_user:
db_driver: orm # other valid values are 'mongodb' and 'couchdb'
firewall_name: main
user_class: AppBundle\Entity\User
service: # this line
mailer: fos_user.mailer.twig_swift # this line (from the comment above)
from_email:
address: "test@test.com" # change this
sender_name: "Test App" # and this
所以,在我为几个 Symfony 项目使用 FOSUserBundle 之后,突然开始出现上述错误。
我试过包含模板服务(现在两次),看起来安装正常。这是我的 composer.json:
中的需求列表"require": {
"php": ">=5.5.9",
"doctrine/doctrine-bundle": "^1.6",
"doctrine/orm": "^2.5",
"friendsofsymfony/user-bundle": "^2.0",
"incenteev/composer-parameter-handler": "^2.0",
"sensio/distribution-bundle": "^5.0.19",
"sensio/framework-extra-bundle": "^5.0.0",
"symfony/monolog-bundle": "^3.1.0",
"symfony/polyfill-apcu": "^1.0",
"symfony/swiftmailer-bundle": "^2.6.4",
"symfony/symfony": "3.4.*",
"symfony/templating": "^3.4",
"twig/twig": "^1.0||^2.0"
},
我像往常一样设置了 config.yml、security.yml 和 routing.yml 文件,并将包包含在 AppKernel.php 文件中。我还创建了 User.php 实体,但每次我尝试清除缓存或更新数据库时,我都会收到此错误。
The service "fos_user.mailer" has a dependency on a non-existent service "templating"
经过大量搜索,我找不到解决此问题的位置。非常感谢任何对此的帮助,因为这是以前从未发生过的事情,而且我一直使用 FOSUserBundle 来满足我的安全需求。
我刚刚遇到了完全相同的问题。有趣的是,我在创建 Symfony 3.4 项目之前创建了一个 Symfony 3.3 项目,而 Symfony 3.3 项目没有这个问题。所以他们一定已经删除了 3.4 版本的模板组件。
要解决您的问题,您必须使用 composer 安装模板组件:
composer require symfony/templating
然后,在你的config.yml中的framework
键下添加如下配置:
templating:
engines: ['twig']
更新: 我最近不得不用 FOSUserBundle 启动一个新的 Symfony 3.4 项目,发现我只需要将上述配置添加到我的 config.yml 文件中(如在
在 Symfony 3.4 和 FosUserBundle 2.0 中,将服务邮件程序添加到 fos_user
配置中:
fos_user:
db_driver: orm # other valid values are 'mongodb' and 'couchdb'
firewall_name: main
user_class: AppBundle\Entity\User
service: # this lines
mailer: fos_user.mailer.twig_swift # this lines
from_email:
address: "%mailer_user%"
sender_name: "%mailer_user%
就我而言,在 config.yml 中进行如下更改后即可使用:
# FOSUser Configuration
fos_user:
db_driver: orm # other valid values are 'mongodb' and 'couchdb'
firewall_name: main
user_class: AppBundle\Entity\User
service: # this line
mailer: fos_user.mailer.twig_swift # this line (from the comment above)
from_email:
address: "test@test.com" # change this
sender_name: "Test App" # and this