我已经在我的网站上部署了我的应用程序,它终于工作得很好。 但是,我已经使用capifony的多级选项进行了第二次部署,这个选项称为开发而不是生产。
在我的development.rb文件中,我设置了:
设置: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,我会收到以下错误:
AppKernel.php第42行中的ClassNotFoundException:尝试加载 命名空间中的“SensioGeneratorBundle”类 “Sensio公司\包\ GeneratorBundle”。你忘记了“使用”声明吗? 另一个命名空间?
好吧,当我在开发模式下本地工作时,不会引发此错误,为什么会在此处引发?我该怎么做才能进一步了解这个问题?
非常感谢!
答案 0 :(得分:2)
问题是作曲家有一个部分require-dev,它没有被收集或添加到自动加载器中。
您可以将capifony配置为在您的development.rb中预先包含require-dev:
set :composer_options, "--dev --verbose --prefer-dist --optimize-autoloader --no-progress"
与set :clear_controllers, false
结合使用,您应该可以运行app_dev.php
希望它有所帮助