到目前为止,我一直在编写Symfony 2应用程序,从不负责发布。所以我只在app_dev.php
上调用了Smyfony 2并且只使用了开发配置。现在我必须处理Symfony 2的发布,在上线之前需要考虑什么?
app_dev.php
调用应用程序?答案 0 :(得分:1)
首先,我们记录了这一点: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
您也可以阅读如何将web
中的public_html
目录更改为文档:http://symfony.com/doc/current/cookbook/configuration/override_dir_structure.html
这样做的原因是为了保护所有应用程序代码。用户无法访问所有app/.
,vendor/.
和src/.
文件,因此无法读取配置,无法读取参数。
最后,您可以将app.php
更改为index.php
,以获取mysite.com/app.php/blog/foobar
等网址。但最好创建一个简单的HTACCESS mod_rewrite规则来将所有请求发送到app.php
,这样您就可以使用mysite.com/blog/foobar
访问该页面。
.htaccess
:
RewriteEngine On
RewriteBase /
RewriteRule ^(.*?)$ app.php$1
答案 1 :(得分:0)
在哪里可以为不同的环境设置不同的配置(数据库连接等)以及如何调用它们?
如果您没有对项目进行过多更改,则配置文件位于app / config
下如何确保无法通过实时服务器上的app_dev.php调用该应用程序?
同样,如果您没有更改项目,您唯一需要关心的是确保您的Web服务器从/ web运行网站(.htaccess完成其余的工作)
在实施Symfony 2应用程序的同时,解决有关应该注意什么的任何其他提示。
您可以关注app / logs中的日志文件