我目前正致力于一个symfony项目,我必须完成这个项目以结束我的学位。
我想为我的网站创建两种用户,所以我安装了最受欢迎且易于使用的PUGX。我按照github上的文档来实现安装,但是我现在已经停了两天了,我真的找不到解决方案了。
当我想要进入我的索引页面时,我收到此错误:
中的ServiceNotFoundException CheckExceptionOnInvalidReferenceBehaviorPass.php第58行:
服务" pugx_user.manager.orm_user_manager"依赖于 不存在的服务" fos_user.util.password_updater"。
正如您所看到的,我也在使用FOSUserBundle。
我真的不知道这意味着什么,我在论坛和其他内容上找不到任何相关信息。
如果您想看一下我可以随意询问我的文件,我会将它们添加到主题中。
我在下面添加主配置:
**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"
我的服务条款是否合适?
答案 0 :(得分:0)
在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
它应该可以解决你的问题。