任何人都可以告诉我为什么在安装了最新MAMP的全新格式化macbook中运行app / console时出现此错误?
警告:date_default_timezone_get():依赖系统的时区设置是不安全的。您需要*使用date.timezone设置或date_default_timezone_set()函数。如果您使用了这些方法中的任何一种并且仍然收到此警告,则很可能拼错了时区标识符。我们在/../Logger.php第112行选择“欧洲/赫尔辛基”作为'EEST / 3.0 / DST'
我已经检查了php.ini的路径并标出了date.timezone = "Europe/Athens"
还重启了MAMP / apache几次。
答案 0 :(得分:21)
OS X中的默认php.ini
位于:
/private/etc/php.ini
无论如何,你可以告诉CLI php to load MAMP settings,或使用alias of MAMP command itself。
答案 1 :(得分:21)
在AppKernel.php上写道:
public function init() {
date_default_timezone_set( 'Europe/Lisbon' );
parent::init();
}
由于init()
已弃用(并将在Symfony2 3.0中删除),因此建议在构造函数中移动代码,如下例所示:
public function __construct($environment, $debug) {
parent::__construct($environment, $debug);
// get rid of Warning: date_default_timezone_get(): It is not safe to rely on the system's timezone
date_default_timezone_set( 'Europe/Paris' );
}
答案 2 :(得分:8)
您不编辑好的php.ini文件
您可以使用以下方式获取完整的phpinfo()
php -i
并且,在那里,使用了php.ini文件:
$ php -i | grep 'Configuration File'
Configuration File (php.ini) Path => /etc
Loaded Configuration File => /etc/php.ini
答案 3 :(得分:6)
我遇到了同样的问题,并且确实有一个命令行,并且在Yosemite上运行MAMP / Native Mac PHP服务,当我试图按照这个页面上的指示时,他们似乎没有为我工作。
当我运行php命令时:
$ php -i | grep 'Configuration File'<br>
Configuration File (php.ini) Path => /etc<br>
Loaded Configuration File => <em>(Blank)</em>
我意识到CLI使用的php.ini实际上是php.ini.default文件。 我创建了一个指向该文件的符号链接,如php.ini,一切正常。
My-MacPro:/ etc / $ ln -s php.ini.default php.ini
答案 4 :(得分:4)
我确实按照你的答案,但在我的情况下,没有一个工作。我决定改变一下
date_default_timezone_get()
在 logger.php 文件中。
我用我的时区设置(“欧洲/柏林”)取而代之,一切顺利!
旧学校的解决方案,但仍然是一个解决方案。
答案 5 :(得分:4)
我的SF2安装遇到了完全相同的问题。
要解决此问题,只需访问php.ini
/etc/php.ini
文件,然后将文件更改为此类文件(根据当地时区调整您的时区):
;;;;;;;;;;;;;;;;;;; ; Module Settings ; ;;;;;;;;;;;;;;;;;;;
[Date]
; Defines the default timezone used by the date functions
; http://www.php.net/manual/en/datetime.configuration.php#ini.date.timezone
date.timezone = Europe/London
答案 6 :(得分:3)
Mac OSX中的默认php.in位于/etc/php.ini
,与/private/etc/php.ini
文件完全相同。
你应该知道你有可能使用两个并行运行的php版本。我有这个问题'因为我使用本机mac osx php,但是我不得不通过自制软件安装一个php包,然后我通过自制软件得到了另一个版本的php。虽然我已经在php.ini
/etc/php.ini
文件中配置了时区,但我仍遇到同样的问题,所以我跑了:
php -i | grep 'Configuration File'
为了配置正确的文件,我得到了:
Configuration File (php.ini) Path => /usr/local/etc/php/5.3
Loaded Configuration File => /usr/local/etc/php/5.3/php.ini
PHP Warning: Unknown: 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
'America/Buenos_Aires' for 'ART/-3.0/no DST' instead in Unknown on line 0
然后我知道我必须编辑/usr/local/etc/php/5.3/php.ini
文件。
之后,一切顺利。我已经没有那个问题了。
我希望它可以帮助你解决这个问题。
答案 7 :(得分:1)
通常,CLI和Apache都有单独的php.ini
个文件。确保您已编辑了所需的一个。
答案 8 :(得分:1)
默认情况下,Mac在控制台中使用位于以下位置的PHP:
/private/etc/php.ini
你应该使用这个,因为MAMP总是取消设置时区变量,你总会得到那个错误。
答案 9 :(得分:1)
我在OS X 10.9上遇到了类似的问题。
我的问题是php.ini
中没有/etc
文件。
我通过创建包含内容的php.ini
文件来解决问题:
date.timezone = Europe/Athens