如何在调试模式下部署带有 capifony 的 symfony2 应用程序?

how to deploy in debug mode a symfony2 app with capifony?

我已经在我的网站上部署了我的应用程序,它终于可以正常工作了。 但是,我已经使用 capifony 的多阶段选项进行了第二次部署,这称为开发而不是生产。

在我的 development.rb 文件中,我设置了:

set :clear_controllers, false

这样文件 app_dev.php 就不会被删除。它确实可用,但默认情况下不会启动,尽管有以下虚拟主机配置:

<VirtualHost *:80>
    ServerName test.sebastienvassaux.com
    DocumentRoot /var/www/mysite.com/development/current/web

    DocumentRoot /var/www/mysite.com/development/current/web
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /var/www/mysite.com/development/current/web>
        DirectoryIndex app_dev.php
        Options -Indexes
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>
</VirtualHost>

所以第一个问题:如何让 mysite.com 加载 app_dev.php 而不是 app.php?

然后,如果我手动输入地址 mysite.com/app_dev.php,我会得到以下错误:

ClassNotFoundException in AppKernel.php line 42: Attempted to load class "SensioGeneratorBundle" from namespace "Sensio\Bundle\GeneratorBundle". Did you forget a "use" statement for another namespace?

嗯,我在本地用dev模式的时候并没有报这个错,为什么会在这里报呢?我可以做些什么来进一步了解这个问题?

非常感谢!

问题是 composer 有一个 require-dev 部分没有收集或添加到自动加载器。

您可以配置 capifony 以包含 require-dev,prefrabily 在您 development.rb:

set :composer_options,  "--dev --verbose --prefer-dist --optimize-autoloader --no-progress"

结合set :clear_controllers, false你应该能够运行app_dev.php

希望对你有帮助