直到现在,我一直在写Symfony 2的应用程序,从来没有负责发布。因此,我只在app_dev.php上调用了Smyfony 2,并且只使用了开发配置。现在我要处理一个Symfony 2的发布,在直播之前考虑什么?
app_dev.php调用?发布于 2012-12-14 22:04:01
首先,我们已经证明了这一点:http://symfony.com/doc/current/cookbook/deployment-tools.html那篇文章只是回答了第一个和第三个问题,第二个问题的答案:
如何确保应用程序不能通过活动服务器上的app_dev.php调用?
您应该将您网站的根目录指向web目录。例如,如果您的站点生活在:
mysite.com/
public_html/
... your site files/directories你应该这样做:
mysite.com/
app/
...
src/
...
vendor/
...
public_html/ <--- this is the old web directory
...
app.php您也可以阅读如何将public_html中的public_html目录转换为文档:structure.html
这样做的原因是为了保护所有应用程序代码。用户无法访问所有的app/.、vendor/.和src/.文件,因此无法读取配置,也无法读取参数。
最后,您可以将app.php更改为index.php以获得像mysite.com/app.php/blog/foobar这样的urls。但是最好创建一个简单的HTACCESS mod_rewrite规则将所有请求发送到app.php,这样您就可以使用mysite.com/blog/foobar访问页面。
根中的.htaccess:
RewriteEngine On
RewriteBase /
RewriteRule ^(.*?)$ app.php$1发布于 2012-12-14 22:07:13
我可以在哪里设置不同的配置(DB连接等)对于不同的环境,以及如何调用它们?
如果您没有过多地更改您的项目,您的配置文件将位于app/config下
如何确保应用程序不能通过活动服务器上的app_dev.php调用?
同样,如果您没有更改项目,您需要关心的唯一事情就是确保您的web服务器从/web运行网站(其余部分由.htaccess完成)。
以及治愈任何其他提示,在推动Symfony 2应用程序实时运行时要注意什么。
您可以监视app/ log中的日志文件。
https://stackoverflow.com/questions/13886111
复制相似问题