symfony2语言环境和部署

时间:2012-10-02 15:43:30

标签: deployment symfony localization

我正在使用symfony2创建Web应用程序。我已完成本地的所有开发(OSX),但现在我想在演示文稿中显示第一个版本,我无法使用自己的笔记本电脑。

我正在部署到ubuntu 10服务器。我还在另一个小的ubuntu 11 vps上进行了测试,但遇到了同样的问题。

我仔细检查了本教程是否在我的ubuntu服务器上为symfony正确设置了php:

http://www.joelverhagen.com/blog/2011/05/how-to-configure-symfony-2-0-on-ubuntu-server-2011-4/

对于部署,我按照以下步骤操作:

Moving app to production mode in Symfony 2

但是第一步(php app / console cache:clear --env = prod --no-debug)给出了以下错误(在本地运行此命令时也会出现此错误):

php app/console cache:clear --env=prod --no-debug

Clearing the cache for the prod environment with debug false

[ReflectionException]                                         
Class Packed\Bundle\UserBundle\Entity\Rapport does not exist  

cache:clear [--no-warmup] [--no-optional-warmers]

这有点奇怪,因为Packed \ Bundle \ UserBundle \ Entity \ Rapport不存在,Packed \ Bundle \ ScoreModelBundle \ Entity \ Rapport但是。

由于应用程序不需要投入生产一段时间,这不是很紧急,非常紧急的是让它在开发模式下运行,所以我尝试通过app_dev.php使用它。

如果我删除app_dev.php中的localhost-check,一切都按预期工作,但i8n无法工作......我无法切换到本地可能的其他语言环境: xxx.com/app_dev.php/en 并且它不使用messages.nl.yml,messages.en.yml,...和其他文件。

知道可能导致这种情况的原因吗?

我检查了symfony和apache日志,但没有什么奇怪的。我应该检查的其他任何日志?

谢谢!

里斯

1 个答案:

答案 0 :(得分:0)

尝试重建您的引导程序文件。如果你正在使用APC-cache从cli重新启动它。如果它没有帮助。

最简单的方法是运行composer并进行更新。

要检查翻译(模板应缓存在服务器上),请检查必须在那里启用config.yml翻译服务。您可以在config_dev.yml中启用它,但不能在config_prod.yml

中启用它