symfony 中 PUGX 多用户的依赖服务问题
Dependency service issue with PUGX multi user in symfony
我目前正在做一个 symfony 项目,我必须完成这个项目才能结束我的学位。
我想为我的站点创建两种用户,所以我安装了最受欢迎且易于使用的 PUGX。我按照 github 上的文档进行了安装,但两天后我就卡住了,我找不到真正的解决方案。
当我想转到我的索引页时出现此错误:
ServiceNotFoundException in
CheckExceptionOnInvalidReferenceBehaviorPass.php line 58:
The service "pugx_user.manager.orm_user_manager" has a dependency on a
non-existent service "fos_user.util.password_updater".
As you can see I'm using FOSUserBundle as well.
我真的不知道那是什么意思,我在论坛和其他地方没有找到任何相关信息。
如果您想看一下,请随时询问我的文件,我会将它们添加到主题中。
我在下面添加主要配置:
**app/config/config.yml**
# FOS user config
fos_user:
db_driver: orm
firewall_name: main
user_class: Utilisateurs\UtilisateursBundle\Entity\Utilisateurs
service:
user_manager: pugx_user_manager
# PUGXmultiuser config
pugx_multi_user:
users:
Client:
entity:
class: Utilisateurs\UtilisateursBundle\Entity\Client
registration:
form:
type: Utilisateurs\UtilisateursBundle\Form\Type\RegistrationClientFormType
name: fos_user_registration_form
validation_groups: [Registration, Default]
template: UtilisateursUtilisateursBundle:views:Registration:Client.html.twig
profile:
form:
type: Utilisateurs\UtilisateursBundle\Form\Type\ProfileClientFormType
name: fos_user_profile_form
validation_groups: [Profile, Default]
Moniteur:
entity:
class: Utilisateurs\UtilisateursBundle\Entity\Moniteur
registration:
form:
type: Utilisateurs\UtilisateursBundle\Form\RegistrationMoniteurFormType
template: UtilisateursUtilisateursBundle:views:Registration:Moniteur.html.twig
profile:
form:
type: Utilisateurs\UtilisateursBundle\Form\Type\ProfileMoniteurFormType
提前感谢您的帮助!
编辑:
我的主机上有:
[Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException]
The service "pugx_user.manager.orm_user_manager" has a dependency on a non-existent service "f
os_user.util.password_updater".
还有我的 composer.json 文件 :
{
"name": "symfony/framework-standard-edition",
"license": "MIT",
"type": "project",
"description": "The \"Symfony Standard Edition\" distribution",
"autoload": {
"psr-4": { "": "src/" },
"classmap": [ "app/AppKernel.php", "app/AppCache.php" ]
},
"require": {
"php": ">=5.3.9",
"symfony/symfony": "2.8.*",
"doctrine/orm": "^2.4.8",
"doctrine/doctrine-bundle": "~1.4",
"symfony/swiftmailer-bundle": "~2.3,>=2.3.10",
"symfony/monolog-bundle": "^3.0.2",
"sensio/distribution-bundle": "~5.0",
"sensio/framework-extra-bundle": "^3.0.2",
"incenteev/composer-parameter-handler": "~2.0",
"friendsofsymfony/user-bundle": "2.0.*@dev",
"pugx/multi-user-bundle": "3.0.*@dev"
},
"require-dev": {
"sensio/generator-bundle": "~3.0",
"symfony/phpunit-bridge": "~2.7"
},
"scripts": {
"symfony-scripts": [
"Incenteev\ParameterHandler\ScriptHandler::buildParameters",
"Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::buildBootstrap",
"Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::clearCache",
"Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::installAssets",
"Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::installRequirementsFile",
"Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::prepareDeploymentTarget"
],
"post-install-cmd": [
"@symfony-scripts"
],
"post-update-cmd": [
"@symfony-scripts"
]
},
"config": {
"bin-dir": "bin",
"platform": {
"php": "5.3.9"
}
},
"minimum-stability": "dev",
"extra": {
"symfony-app-dir": "app",
"symfony-web-dir": "web",
"symfony-assets-install": "relative",
"incenteev-parameters": {
"file": "app/config/parameters.yml"
},
"branch-alias": {
"dev-master": "2.8-dev"
}
}
}
请注意,我使用的是 Symfony 2.8 版本。如果不是最新版本有关系吗?
编辑 2
我已经做到了:
# FOS user config
fos_user:
db_driver: orm
firewall_name: main
user_class: Utilisateurs\UtilisateursBundle\Entity\Utilisateurs
services:
user_manager: pugx_user_manager
fos_user.doctrine_registry:
alias: doctrine
但它不起作用我在 web_dev.php 中执行时收到此消息:
Unrecognized option "services" under "fos_user"
我的服务期限合适吗?
在 PUGX\MultiUserBundle\Resources\config\orm.yml
中将 "@fos_user.entity_manager"
替换为 "@fos_user.object_manager"
在app\config\config.yml
中添加(或修改)
services:
fos_user.doctrine_registry:
alias: doctrine
应该可以解决您的问题。
我目前正在做一个 symfony 项目,我必须完成这个项目才能结束我的学位。
我想为我的站点创建两种用户,所以我安装了最受欢迎且易于使用的 PUGX。我按照 github 上的文档进行了安装,但两天后我就卡住了,我找不到真正的解决方案。
当我想转到我的索引页时出现此错误:
ServiceNotFoundException in
CheckExceptionOnInvalidReferenceBehaviorPass.php line 58:
The service "pugx_user.manager.orm_user_manager" has a dependency on a non-existent service "fos_user.util.password_updater".
As you can see I'm using FOSUserBundle as well.
我真的不知道那是什么意思,我在论坛和其他地方没有找到任何相关信息。
如果您想看一下,请随时询问我的文件,我会将它们添加到主题中。
我在下面添加主要配置:
**app/config/config.yml**
# FOS user config
fos_user:
db_driver: orm
firewall_name: main
user_class: Utilisateurs\UtilisateursBundle\Entity\Utilisateurs
service:
user_manager: pugx_user_manager
# PUGXmultiuser config
pugx_multi_user:
users:
Client:
entity:
class: Utilisateurs\UtilisateursBundle\Entity\Client
registration:
form:
type: Utilisateurs\UtilisateursBundle\Form\Type\RegistrationClientFormType
name: fos_user_registration_form
validation_groups: [Registration, Default]
template: UtilisateursUtilisateursBundle:views:Registration:Client.html.twig
profile:
form:
type: Utilisateurs\UtilisateursBundle\Form\Type\ProfileClientFormType
name: fos_user_profile_form
validation_groups: [Profile, Default]
Moniteur:
entity:
class: Utilisateurs\UtilisateursBundle\Entity\Moniteur
registration:
form:
type: Utilisateurs\UtilisateursBundle\Form\RegistrationMoniteurFormType
template: UtilisateursUtilisateursBundle:views:Registration:Moniteur.html.twig
profile:
form:
type: Utilisateurs\UtilisateursBundle\Form\Type\ProfileMoniteurFormType
提前感谢您的帮助!
编辑:
我的主机上有:
[Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException]
The service "pugx_user.manager.orm_user_manager" has a dependency on a non-existent service "f
os_user.util.password_updater".
还有我的 composer.json 文件 :
{
"name": "symfony/framework-standard-edition",
"license": "MIT",
"type": "project",
"description": "The \"Symfony Standard Edition\" distribution",
"autoload": {
"psr-4": { "": "src/" },
"classmap": [ "app/AppKernel.php", "app/AppCache.php" ]
},
"require": {
"php": ">=5.3.9",
"symfony/symfony": "2.8.*",
"doctrine/orm": "^2.4.8",
"doctrine/doctrine-bundle": "~1.4",
"symfony/swiftmailer-bundle": "~2.3,>=2.3.10",
"symfony/monolog-bundle": "^3.0.2",
"sensio/distribution-bundle": "~5.0",
"sensio/framework-extra-bundle": "^3.0.2",
"incenteev/composer-parameter-handler": "~2.0",
"friendsofsymfony/user-bundle": "2.0.*@dev",
"pugx/multi-user-bundle": "3.0.*@dev"
},
"require-dev": {
"sensio/generator-bundle": "~3.0",
"symfony/phpunit-bridge": "~2.7"
},
"scripts": {
"symfony-scripts": [
"Incenteev\ParameterHandler\ScriptHandler::buildParameters",
"Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::buildBootstrap",
"Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::clearCache",
"Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::installAssets",
"Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::installRequirementsFile",
"Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::prepareDeploymentTarget"
],
"post-install-cmd": [
"@symfony-scripts"
],
"post-update-cmd": [
"@symfony-scripts"
]
},
"config": {
"bin-dir": "bin",
"platform": {
"php": "5.3.9"
}
},
"minimum-stability": "dev",
"extra": {
"symfony-app-dir": "app",
"symfony-web-dir": "web",
"symfony-assets-install": "relative",
"incenteev-parameters": {
"file": "app/config/parameters.yml"
},
"branch-alias": {
"dev-master": "2.8-dev"
}
}
}
请注意,我使用的是 Symfony 2.8 版本。如果不是最新版本有关系吗?
编辑 2
我已经做到了:
# FOS user config
fos_user:
db_driver: orm
firewall_name: main
user_class: Utilisateurs\UtilisateursBundle\Entity\Utilisateurs
services:
user_manager: pugx_user_manager
fos_user.doctrine_registry:
alias: doctrine
但它不起作用我在 web_dev.php 中执行时收到此消息:
Unrecognized option "services" under "fos_user"
我的服务期限合适吗?
在 PUGX\MultiUserBundle\Resources\config\orm.yml
中将 "@fos_user.entity_manager"
替换为 "@fos_user.object_manager"
在app\config\config.yml
中添加(或修改)
services:
fos_user.doctrine_registry:
alias: doctrine
应该可以解决您的问题。