Symfony环境和调试栏

时间:2012-05-01 14:24:25

标签: php symfony wamp environments

我是Symfony的新手。正在做一些测试(Sympfony 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调试工具栏中(顺便说一句,为什么我现在看到这个工具栏?这不是一个生产环境吗?默认情况下我的用户是否应该看到这个栏?)I另请参见“项目配置”选项卡: 环境开发

似乎这个“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,现在WebDebug Toolbar不再显示在PROD中(app.php / WHATEVER)

所以,我不知道如何,但它似乎现在按预期工作,虽然config_prod.yml文件和app.php处于原始状态。它还允许我将我的外部IP连接到app.php

非常奇怪......

2 个答案:

答案 0 :(得分:5)

以下是那些使用格式错误的模板进行输出的人的答案。

[已删除链接以重定向到垃圾网站]

刚为您复制:

“嗨。您必须在正在查看的页面上使用正确的HTML。我认为调试栏会在</body>之前附加。所以,如果您有这样的页面(见下文),您应该看到调试栏。“

代码:

<html> <head>

</head> <body>

</body> </html>

答案 1 :(得分:3)

您需要在app_dev.php中禁用ip过滤。并且您将能够从外部IP看到调试栏。

此致 最大

相关问题