Symfony2虚拟主机上的开发模式


Development mode on Symfony2 virtual hosts

我对我的大url http://localhost:8888/site/web/app_dev.php感到无聊,所以我创建了apache virtual hosts。当我在浏览器中编写http://site.dev时,一切正常,我的网站出现了。

问题是,我的Symfony2网站似乎处于dev/prod模式,而我指向的是app_dev.php(在.htaccess中)。

我有调试底部工具栏(它向我显示"dev-environment"),我可以进行转储,但当我修改文件(JS、Twig等)时,每次都必须执行php app/console assetic:dump(我以前没有)。

我的虚拟主机:

<VirtualHost *:80>
    ServerName site.dev
    ServerAlias www.site.dev
    DocumentRoot /Applications/MAMP/htdocs/bo/web
    <Directory /Applications/MAMP/htdocs/bo/web>
        AllowOverride All
        Order Allow,Deny
        Allow from All
    </Directory>
</VirtualHost>

编辑:我注意到这个网站(site.dev)比以前(使用localhostURL)快得多。不知道为什么,仍然不知道如何解决php app/console assetic:dump问题。。。

您需要添加此行DirectoryIndex-app.php

<VirtualHost *:80>
     ServerName site.dev
     ServerAlias www.site.dev
     DocumentRoot /Applications/MAMP/htdocs/bo/web
     DirectoryIndex  app.php
     <Directory /Applications/MAMP/htdocs/bo/web>
         AllowOverride All
         Order Allow,Deny
         Allow from All
     </Directory>
</VirtualHost>

除了担心URL的长度之外,你没有其他问题吗?:)

但说真的,试着用以下命令启动内部PHP/Symfony服务器:

$ app/console server:start

您的应用程序的开发版本将位于http://localhost:8000.漂亮又短。


根据您的评论,事实证明您遇到的实际问题是在JS中对URL进行硬编码。解决方案是https://github.com/FriendsOfSymfony/FOSJsRoutingBundle.

基本上,该捆绑包允许您向JS公开路由,从而避免在那里对URL进行硬编码。