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

ste*_*ste 1 php macos localhost composer-php

每次在终端运行命令时,我都会收到此警告.它首先更新了我所有的自制公式并更新了作曲家.我已经查看了它引用的文件,但不知道该怎么做.

完整的消息

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

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

我根本不在OS X上使用PHP.我的工作是通过VM或MAMP奇怪的时间所以我不确定是否应该使用Composer的核心?

Stu*_*art 8

您需要使用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 
Run Code Online (Sandbox Code Playgroud)

或使用PHP:

date_default_timezone_set("Europe/London");
Run Code Online (Sandbox Code Playgroud)