Symfony2:如何在生产环境和开发环境中访问相同的路由

8
我正在使用Symfony2开发一个小应用程序。在我的开发环境中,我可以无问题地访问所有路由: http://symfony/app_dev.php/cp (“symfony”在我的hosts文件中解析为localhost)
但是,一旦我尝试在生产环境中访问它,我只会得到一个404错误页面。

http://symfony/app.php/cp

哎呀!发生了错误 服务器返回了“404未找到”。 出现了一些问题。请给我们发送电子邮件[email],并告诉我们在出现此错误时您正在做什么。我们将尽快修复它。为任何不便表示抱歉。

我需要更改/执行某些操作才能在生产中查看我的应用程序吗? 我没有弄乱任何核心文件(内核/引导/应用程序文件等)。 我正在使用第三个候选版本。


10
你尝试过清除缓存吗?可以通过运行命令 ./app/console cache:clear 或直接删除路径为 ./app/cache/prodprod 目录来实现。 - Crozin
谢谢,解决了!你知道为什么会修复这个问题吗?我真的很好奇。 - Jeremy Hicks
4
可能是因为您的缓存在添加 cp 路由之前生成的。生产环境缓存不会自动重新生成,因此如果您添加或更改任何代码,则需要清除缓存才能在生产环境上看到更改。 - Problematic
2
@Crozin 把你的评论发布为答案,这样这个问题就可以被标记为已回答了。 - Problematic
1个回答

16

正如Crozin在他的评论中提到的,你需要重建缓存才能看到你的更改。每次在配置、路由或模板中进行更改时,都需要重新构建生产缓存。最安全的方法是使用 php app/console cache:clear --env=prod --no-debug(因为CLI默认以调试启用的开发模式运行)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接