PHP警告:date():依赖系统是不安全的';s时区设置.-OS X


PHP Warning: date(): It is not safe to rely on the system's timezone settings. - OS X

每次在终端中运行命令时,我都会收到此警告。它开始于我最近更新的所有自制公式和更新的作曲家。我已经查看了它引用的文件,但不确定该怎么办。

完整消息

PHP警告:date():依赖系统的时区设置是不安全的。需要使用date.timezone设置或date_default_timezone_set()函数。如果您使用了其中任何一种方法,但仍然收到此警告,则很可能是您拼错了时区标识符。我们暂时选择了时区"UTC",但请设置date.timezone以选择您的时区。第158行上的/Users/ste/.composer/vendor/hoa/core/Parameter.php中

在Parameter.php的第158行,我们有一个函数

/**
 * Initialize constants.
 *
 * @return  void
 */
public static function initializeConstants()
{
    $c                = explode('…', date('d…j…N…w…z…W…m…n…Y…y…g…G…h…H…i…s…u…O…T…U'));
    self::$_constants = [
        'd' => $c[0],
        'j' => $c[1],
        'N' => $c[2],
        'w' => $c[3],
        'z' => $c[4],
        'W' => $c[5],
        'm' => $c[6],
        'n' => $c[7],
        'Y' => $c[8],
        'y' => $c[9],
        'g' => $c[10],
        'G' => $c[11],
        'h' => $c[12],
        'H' => $c[13],
        'i' => $c[14],
        's' => $c[15],
        'u' => $c[16],
        'O' => $c[17],
        'T' => $c[18],
        'U' => $c[19]
    ];
    return;
}'

我根本不在OSX上使用PHP。我的工作是通过虚拟机或MAMP进行的,所以我不确定是否应该使用Composer的核心?

您需要使用php.ini或使用php函数date_default_timezone_set()来设置时区。

通过php.ini:

[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = Europe/London 

或者使用php:

date_default_timezone_set("Europe/London");

使用date_default_timezone_set设置默认时区。或者在php.ini中添加date.timezone = // your timezone。https://secure.php.net/manual/en/timezones.phpphp中有支持的时区列表。