date_default_timezone_get():依赖系统的时区设置是不安全的

Rad*_*ino 26 php timezone symfony

任何人都可以告诉我为什么我在安装了最新MAMP的全新格式化的macbook中运行app/console时会出现此错误?

警告:date_default_timezone_get():依赖系统的时区设置是不安全的.您需要*使用date.timezone设置或date_default_timezone_set()函数.如果您使用了这些方法中的任何一种并且仍然收到此警告,则很可能拼错了时区标识符.我们在/../Logger.php第112行选择'Europe/Helsinki'作为'EEST/3.0/DST'

我检查了php.ini的路径并标出了 date.timezone = "Europe/Athens"

还重启了MAMP/apache几次.

moo*_*e99 21

php.iniOS X中的默认值位于:

/private/etc/php.ini
Run Code Online (Sandbox Code Playgroud)

无论如何,你可以告诉CLI php 加载MAMP设置,或者使用MAMP命令本身别名.

  • MAC OS X和MAMP一起完全废话.我花了几个小时在一个全新的MAC OS X Mountain Lion安装中让一半的东西工作,我并非完全缺乏经验.MAC OS X有两个apache服务和一些php.ini(以及其他需要的文件).仍然不能让所有的东西100%工作,我不知道我知道如何删除MAC OS apache并用MAMP替换它. (3认同)

小智 21

在AppKernel.php写道:

public function init() {
    date_default_timezone_set( 'Europe/Lisbon' );
    parent::init();
}
Run Code Online (Sandbox Code Playgroud)

由于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' );
}
Run Code Online (Sandbox Code Playgroud)


acu*_*ens 8

你不编辑好的php.ini文件

你可以使用以下方法获得完整的phpinfo():

php -i 
Run Code Online (Sandbox Code Playgroud)

并且,在那里,使用了php.ini文件:

$ php -i | grep 'Configuration File'
Configuration File (php.ini) Path => /etc
Loaded Configuration File => /etc/php.ini
Run Code Online (Sandbox Code Playgroud)

  • 我收到加载配置文件=>(无) (4认同)

B. *_*ncy 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>
Run Code Online (Sandbox Code Playgroud)

我意识到CLI使用的php.ini实际上是php.ini.default文件.我创建了一个指向该文件的符号链接作为php.ini,一切正常.

My-MacPro:/ etc/$ ln -s php.ini.default php.ini


crm*_*cco 5

我在安装 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
Run Code Online (Sandbox Code Playgroud)