3

我是 Symfony 的新手。一直在做一些测试(Symfony 2.0.13 和 WAMP2.2 中的 php5.3.8)并阅读文档,但我对环境有点困惑

当我转到LOCALHOST/Symfony/web/app_dev.php/demo/hello/Foo(app_dev 表示开发环境,对吗?)我可以看到 Web 调试工具栏并单击分析器信息,在“项目配置”选项卡中,我可以看到: Environment dev

现在我转到LOCALHOST/Symfony/web/app.php/demo/hello/Fooweb 调试工具栏(顺便说一句,为什么我现在看到这个工具栏?这不是生产环境吗?我的用户应该默认看到这个栏吗?)我还看到,在“项目配置" 选项卡: 环境开发

似乎这个“演示”包以某种方式与“开发”相关联,无论 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 工具栏不再显示在 PROD (app.php/WHATEVER) 中

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

真的很奇怪...

4

2 回答 2

5

对于那些使用格式错误的模板进行输出的人来说,这是一个答案。

[删除重定向到垃圾邮件网站的链接]

刚刚复制给你:

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

代码:

<html> <head>

</head> <body>

</body> </html>
于 2014-01-05T00:07:31.423 回答
3

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

问候, 马克斯

于 2012-06-08T09:45:09.140 回答