Подтвердить что ты не робот

Предупреждение: date_default_timezone_get() установка Symfony

Я пытаюсь установить Symfony на XAMPP, и я постоянно получаю многочисленные ошибки.

[Symfony\Component\Debug\Exception\ContextErrorException]                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
Warning: date_default_timezone_get(): It is not safe to rely on the system 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 the timezone 'UTC' for now, but please set 
date.timezone to select your timezone. in 
/Applications/XAMPP/xamppfiles/htdocs/vendor/monolog/monolog/src/Monolog/Logger.php line 233 

а затем

Script Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::clearCache handling the post-
install-cmd event terminated with an exception

и, наконец,

[RuntimeException]                                                         
An error occurred when executing the "'cache:clear --no-warmup'" command.

Я попытался изменить date.timezone в моем файле php.ini и использовать функцию date_default_timezone_set() в командной строке, прежде чем пытаться ее установить, и ничего не работает.

Я смотрел на него какое-то время, поэтому любая помощь приветствуется

4b9b3361

Ответ 1

Если вы не можете установить его правильно в своем php.ini по какой-либо причине, вы можете установить его как первое, что есть в вашем AppKernel, например.

class AppKernel extends Kernel
{
    public function __construct($environment, $debug)
    {
        date_default_timezone_set('Europe/London');
        parent::__construct($environment, $debug);
    }

    public function registerBundles()
    {
        $bundles = array(
            ....
        );
    }

    ....
}

Ответ 2

Нашел аналогичный способ исправить эту проблему, а другой - нет.

  • Сначала проверьте, где находится CLI php.ini:

    php -i | grep "php.ini"

  • В моем случае я закончил: Файл конфигурации (php.ini) Path = > /etc

  • Затем cd .. назад и cd в /etc, do ls в моем случае php.ini не появился, только php.ini.default

  • Теперь скопируйте файл php.ini.default с именем php.ini:

    sudo cp php.ini.default php.ini

  • Чтобы изменить, измените права доступа к файлу:

    sudo chmod ug+w php.ini

    sudo chgrp staff php.ini

  • Откройте каталог и отредактируйте файл php.ini:

    open .

    Совет. Если вы не можете редактировать php.ini из-за некоторых проблем с разрешениями, скопируйте 'php.ini.default' и вставьте его на свой рабочий стол и переименуйте его в 'php.ini', затем откройте его и отредактируйте это после шага 7. Затем переместите (скопируйте + вставить) его в папку /etc. Проблема будет решена.

  • Найдите [Дата] и убедитесь, что следующая строка находится в правильном формате:

    date.timezone = "Europe/Amsterdam"

Ответ 3

Очень часто для WAMP/XAMPP и других стеков используется несколько файлов php.ini - один для cli и один для web.

Поскольку вы завершаете ошибку из CLI, попробуйте следующее:

php -i | grep "php.ini"

это выведет местоположение php.ini, используемое для cli. Отредактируйте date.timezone там.

Что касается веб-режима, создайте файл foo.php в вашем "веб-каталоге" symfony, содержащем только "

<?php phpinfo(); ?>

И снова найдите расположение php.ini и отредактируйте date.timezone.

Ответ 4

Измените свой php.ini (необязательно в /etc/php.ini - используйте php -i | grep ini, чтобы найти свою версию) и добавьте часовой пояс.

например. для Америки/Нью-Йорка это было бы:

date.timezone = "America/New_York"

См. http://php.net/manual/en/timezones.america.php

Ответ 5

Было упомянуто, но это так же просто, как:

sudo cp/etc/php.ini.default/etc/php.ini

Вы не можете установить часовой пояс, если он не может найти файл php.ini!!!!