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

时间:2016-04-02 09:40:20

标签: 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;
}'

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

2 个答案:

答案 0 :(得分:7)

您需要使用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");

答案 1 :(得分:2)

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