Symfony2安装错误:不存在的服务“security.authentication.factory.form”

时间:2012-01-28 13:36:19

标签: php symfony

我正在尝试使用这些steps在我的ubuntu 10.04计算机(32位)上安装Symfony2,但我一直得到这个例外。

$./bin/vendors install
...
HEAD is now at 41b5913 Merge pull request #27 from stof/disable_profiler
PHP Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException:  You have requested a non-existent service "security.authentication.factory.form". in /home/yvoyer/www/calendar.local/trunk/app/bootstrap.php.cache on line 202
PHP Stack trace:
PHP   1. {main}() /home/yvoyer/www/calendar.local/trunk/app/console:0
PHP   2. Symfony\Component\Console\Application->run() /home/yvoyer/www/calendar.local/trunk/app/console:22
PHP   3. Symfony\Bundle\FrameworkBundle\Console\Application->doRun() /home/yvoyer/www/calendar.local/trunk/vendor/symfony/src/Symfony/Component/Console/Application.php:118
PHP   4. Symfony\Bundle\FrameworkBundle\Console\Application->registerCommands() /home/yvoyer/www/calendar.local/trunk/vendor/symfony/src/Symfony/Bundle/FrameworkBundle/Console/Application.php:66
PHP   5. Symfony\Component\HttpKernel\Kernel->boot() /home/yvoyer/www/calendar.local/trunk/vendor/symfony/src/Symfony/Bundle/FrameworkBundle/Console/Application.php:80
PHP   6. Symfony\Component\HttpKernel\Kernel->initializeContainer() /home/yvoyer/www/calendar.local/trunk/app/bootstrap.php.cache:513
PHP   7. Symfony\Component\HttpKernel\Kernel->buildContainer() /home/yvoyer/www/calendar.local/trunk/app/bootstrap.php.cache:779
PHP   8. Symfony\Component\DependencyInjection\ContainerBuilder->compile() /home/yvoyer/www/calendar.local/trunk/app/bootstrap.php.cache:868
PHP   9. Symfony\Component\DependencyInjection\Compiler\Compiler->compile() /home/yvoyer/www/calendar.local/trunk/vendor/symfony/src/Symfony/Component/DependencyInjection/ContainerBuilder.php:437
PHP  10. Symfony\Component\HttpKernel\DependencyInjection\MergeExtensionConfigurationPass->process() /home/yvoyer/www/calendar.local/trunk/vendor/symfony/src/Symfony/Component/DependencyInjection/Compiler/Compiler.php:119
PHP  11. Symfony\Component\DependencyInjection\Compiler\MergeExtensionConfigurationPass->process() /home/yvoyer/www/calendar.local/trunk/vendor/symfony/src/Symfony/Component/HttpKernel/DependencyInjection/MergeExtensionConfigurationPass.php:39
PHP  12. Symfony\Bundle\SecurityBundle\DependencyInjection\SecurityExtension->load() /home/yvoyer/www/calendar.local/trunk/vendor/symfony/src/Symfony/Component/DependencyInjection/Compiler/MergeExtensionConfigurationPass.php:42
PHP  13. Symfony\Bundle\SecurityBundle\DependencyInjection\SecurityExtension->createListenerFactories() /home/yvoyer/www/calendar.local/trunk/vendor/symfony/src/Symfony/Bundle/SecurityBundle/DependencyInjection/SecurityExtension.php:49
PHP  14. Symfony\Component\DependencyInjection\ContainerBuilder->get() /home/yvoyer/www/calendar.local/trunk/vendor/symfony/src/Symfony/Bundle/SecurityBundle/DependencyInjection/SecurityExtension.php:596
PHP  15. Symfony\Component\DependencyInjection\Container->get() /home/yvoyer/www/calendar.local/trunk/vendor/symfony/src/Symfony/Component/DependencyInjection/ContainerBuilder.php:316
Segmentation fault

我甚至看不到默认应用。 我尝试使用和不使用供应商安装它,但我仍然遇到相同的错误。

欢迎任何帮助

更新

我尝试从2.0.10而不是2.0.9从头开始重新安装所有内容,我得到了同样的错误。

我成功地在另一个Pc(ubuntu 11.10 64位)上使用相同的源设置Symfony2,没有任何错误。

  • 运行app / check.php时,除了PHP加速器外,一切正常。我不明白为什么它会导致任何问题,因为它在我的另一台机器上运行正常。
  • 我的php版本可能是问题(5.3.2)吗?

你有什么建议吗?

更新#2

我尝试按照inanimatt的建议重建bootstrap.php.cache文件而没有任何运气。我刚注意到./bin/vendors install导致了一个分段错误,我不知道它是否存在之前......

另外,我在供应商脚本中追踪导致问题的命令。我发现在脚本运行app/console assets:install之前一切正常。

任何提示?

3 个答案:

答案 0 :(得分:2)

经过很长时间尝试上述所有答案后,我终于找到了问题所在。

问题是我在服务器上安装了 xdebug ,并且config xdebug.show_exception_trace设置为1.这向我展示了发生的每个异常,并导致上面的堆栈跟踪。

我对该行进行了评论,在配置应用程序时,一切都正常。

感谢那些帮助我的人,我希望这可以帮助别人。

答案 1 :(得分:0)

  1. 清除缓存
  2. 执行:php app / config-check
  3. 检查:https://github.com/stof/StofDoctrineExtensionsBundle
  4. 的配置
  5. 检查yourvhost / check.php以检查所需的php libs
  6. 此致 最大

答案 2 :(得分:0)

上面的错误似乎是引导缓存中缺少的东西,这导致bin/vendors install脚本运行的任务失败。尝试删除该文件并通过运行:

重建它
php vendor/bundles/Sensio/Bundle/DistributionBundle/Resources/bin/build_bootstrap.php

为什么这种情况很难从这里知道 - 你修改了任何配置文件吗?

如果您与供应商一起安装Symfony2标准版,则无需运行bin/vendors install。您只需运行app/check.php以确保系统设置和文件权限正常,然后编辑app/config/parameters.ini以设置数据库。