Symfony2 / Doctrine“app / console doctrine:schema:update --force”带来了ContextErrorException

时间:2013-10-27 18:32:20

标签: date symfony get timezone default

操作系统:Ubuntu 13.2 Symfony2版本:2.3

我可以创建我的Test.orm.yml文件,然后创建我需要的../Bundle/Entity/Test.php

现在我需要我的(现有的)MySQL数据库中的表,所以我运行以下命令:

app/console doctrine:schema:update --force

结果是错误/警告:

  

警告:date_default_timezone_get():依赖它是不安全的   系统的时区设置。您必需才能使用   date.timezone设置或date_default_timezone_set()函数。在   如果你使用了这些方法中的任何一种,你仍然会得到这个   警告,你很可能拼写错误的时区标识符。我们   现在选择时区'UTC',但请将date.timezone设置为   选择你的时区。在   /var/www/html/symfony2/vendor/monolog/monolog/src/Monolog/Logger.php   第112行

我查看了php.ini文件 [档案:/etc/php5/apache2/php.ini] (这是我运行phpinfo()时显示的文件)

我已添加以下内容:

date.timezone = "Europe/Berlin"

顺便说一句。 Symfony/config.php表明一切正常!那里甚至没有显示信息或警告!

任何人都可以帮我解决这个问题吗? Symfony2让我疯了但我必须完成那个项目!

提前致谢!

艾伦

2 个答案:

答案 0 :(得分:2)

之前我遇到过这个问题,对我来说这是关于不同的环境。您可能在开发环境中运行您的应用程序,而doctrine命令则以prod为目标。

首先,尝试运行这些命令以查看它是否是原因:

app/console doctrine:schema:update --force --env dev
app/console doctrine:schema:update --force --env prod

然后你应该在切换环境后尝试 phpinfo(),看看是否加载了其他 *。ini 文件

答案 1 :(得分:1)

您还应该编辑/ etc / php下的php.ini文件。 /etc/php5/apache2/php.ini,此配置适用于apache