【问题标题】:Symfony 2 / Doctrine - error with the command : php app/console doctrine:schema:update --dump-sqlSymfony 2 / Doctrine - 命令错误:php app/console dictionary:schema:update --dump-sql
【发布时间】:2013-10-03 18:16:14
【问题描述】:

我在互联网上尝试了一些东西,但没有一种解决方案能解决我的问题。

我正在学习 symfony 2 和使用数据库的原则。我想用这个命令生成我的新表:

php app/console doctrine:schema:update --dump-sql

但是我的控制台上有这个异常错误:

[Symfony\Component\Debug\Exception\ContextErrorException]                    
Warning: date_default_timezone_get(): It is not safe to rely on the system's 
timezone settings. You are *required* to use the date.timezone setting or  
the date_default_timezone_set() function. In case you used any of those methods 
and you are still getting this warning, you most likely misspelled the 
timezone identifier. We selected 'Europe/Berlin' for 'CEST/2.0/DST' instead 
in /Applications/MAMP/htdocs/SdzBlog/Symfony/vendor/monolog/monolog/src/Monolog/
Logger.php line 209  

关于我的配置: 我为我的服务器使用 MAMP 我的操作系统是 MAC OS 10.8.5

我认为它与 php.ini 有关,但我无法编辑此文件。当我尝试编辑这些文件时,它告诉我这些文件是只读的。我什至尝试制作 chmod 以便能够编辑它们,但我仍然有只读消息。

请问有人知道如何解决这个问题吗?

谢谢

回答:阅读 Nicolai 和他所有的 cmets 的答案,这会有所帮助

【问题讨论】:

    标签: php sql symfony doctrine-orm doctrine


    【解决方案1】:

    在你的 php.ini 中初始化配置参数 date.timezone。 您必须以超级用户权限打开您的 php.ini。例如。

    sudo mcedit /private/etc/php.ini
    

    【讨论】:

    • 您好,谢谢您的回答。感谢您的命令,我可以编辑文件。尽管如此,我仍然有例外。对于我输入的时区 date.timezone = US/Pacific 也许 MAMP 使用另一个 php.ini ?不是路径 /private/etc/ 中的那个?我在网上阅读了一些关于此的内容。这有点令人困惑,我认为有 mac os 的 php 和 MAMP 的 php。我不确定。
    • 找到你的 php.ini 运行命令php -i|grep 'php.ini'。或者创建一个只有一个函数 phpinfo(); 的页面,当你打开这个页面时,它会显示很多关于你的 PHP 和 php.ini 位置的信息。
    • 我都试过了。对于phpinfo(),因为是MAMP的php,对于加载的配置文件是"/Applications/MAMP/bin/php/php5.4.4/conf/php.ini",但是如果我尝试命令php -i|grep 'php.ini我有这个输出Configuration File (php.ini) Path => /etc Loaded Configuration File => /private/etc/php.ini PHP Warning: Unknown: It is not safe to rely on the system's timezone settings. Yo....警告和我在描述中的完全一样我的问题:S Timezone for /private/etc/php.ini = date.timezone = "US/Pacific" Timezone for php.ini of MAMP bin = "US/Pacific" 以及
    • 你确定/private/etc/php.ini中的参数date.timezone没有被注释吗?
    • ;date.timezone = - 是符号';'在行的开头?如果是,则表示该行已被注释。删除这个符号';'从字符串的开头。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-24
    • 1970-01-01
    • 2014-01-26
    相关资源
    最近更新 更多