我是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调试工具栏(BTW,为什么我现在看到这个工具栏?这不是一个生产环境吗?我的用户是否应该看到默认情况下这个栏?)我也看到,在“项目配置”选项卡中:
环境开发
似乎这个“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
真的很奇怪…
解决方法:
对于那些使用格式错误的模板进行输出的人来说,这是一个答案.
[已删除链接以重定向到垃圾网站]
刚为你复制:
“嗨.你必须在你正在查看的页面上有正确的HTML.我认为调试栏会在< / body>之前附加.所以如果你有这样的页面(见下文),你应该看到调试栏“.
码:
<html> <head>
</head> <body>
</body> </html>