【发布时间】:2012-05-01 14:24:24
【问题描述】:
我是 Symfony 的新手。一直在做一些测试(Symfony 2.0.13 和 WAMP2.2 中的 php5.3.8)并阅读 the documentation 但我对环境有点困惑。
当我转到LOCALHOST/Symfony/web/app_dev.php/demo/hello/Foo(app_dev 表示开发环境,对吗?)我可以看到 web 调试工具栏并单击分析器信息,在“项目配置”选项卡中,我可以看到:
环境开发
现在我转到LOCALHOST/Symfony/web/app.php/demo/hello/Foo 并在 web 调试工具栏中(顺便说一句,为什么我现在看到这个工具栏?这不是生产环境吗?我的用户应该默认看到这个栏吗?)我也看到,在“项目配置”选项卡中:
环境开发
这个“demo”Bundle好像和“dev”有某种关联,不管URL是app_dev.php还是app.php??
此外,我还做了一些测试:我的本地 IP 是 192.168.153.1。
当我尝试访问时:
http://192.168.153.1/Symfony/web/app_dev.php/demo/hello/Foo
它显示“您无权访问此文件。请查看 app_dev.php 了解更多信息。”所以,好吧,如果我编辑 app_dev.php 中的行并添加我的(外部)IP,我就可以访问了。
但是,当我连接到
http://192.168.153.1/Symfony/web/app.php/demo/hello/Foo
它说的是一样的!所以看来我的 app.php 没有被执行,无论我在 URL 中输入什么,app_dev.php 都在执行。
这真是令人困惑!我检查了我的 htaccess,一切似乎都是正确的。
谁能帮我解决这个问题?
我没有修改 app_dev.php 的代码,也没有修改 app.php,一切都“按原样”开箱即用。
2012-05-02 编辑
发生了一些奇怪的事情。我用这些行编辑了我的 config_prod.yml:
# load the profiler
framework:
profiler: { only_exceptions: false }
# enable the web profiler
web_profiler:
toolbar: true
intercept_redirects: true
verbose: true
保存,然后编辑 app.php 文件。想测试如果我改变会发生什么:
$kernel = new AppKernel('prod', false); //Symfony default
到
$kernel = new AppKernel('prod', true);
当我转到 app.php/WHATEVER 时,出现了一个错误页面,所以我恢复了所有更改,重新启动了 Apache,现在 PROD (app.php/WHATEVER) 中不再显示 WebDebug 工具栏
所以,我不知道如何,但它现在似乎按预期工作,虽然 config_prod.yml 文件和 app.php 处于原始状态。它还允许我用我的外部 IP 连接到 app.php
真的很奇怪……
【问题讨论】:
-
您告诉您的应用程序在配置中使用哪个环境?
-
你改变你的apache配置了吗?
-
Nanocom 不,我没有更改我的 Apache 配置。它是 Wamp2.2 默认的一个。 @MetalFrog 我没有更改任何配置文件(config.yml、config_dev.yml、config_prod.yml)。我必须设置一些东西吗?我认为没有必要这样做!
-
您是否还安装了“开箱即用”的 .htaccess?
-
你是否安装了 php 缓存或加速器之类的东西?
标签: php symfony wamp environments