Я пытаюсь установить Symfony на XAMPP, и я продолжаю получать многочисленные ошибки.
[Symfony\Component\Debug\Exception\ContextErrorException] Warning: date_default_timezone_get(): It is not safe to rely on the system's 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 () в командной строке, прежде чем пытаться ее установить, и ничего не работает.
Я смотрел на него какое-то время, поэтому любая помощь приветствуется
Если вы не можете правильно установить его в 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( .... ); } .... }
Нашел аналогичный способ исправить эту проблему, а другой – нет.
Сначала проверьте, где находится 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"
Для WAMP
/ XAMPP
и других стеков очень часто используется несколько файлов php.ini
– один для cli и один для Интернета.
Поскольку вы завершаете ошибку из CLI, попробуйте следующее:
php -i | grep "php.ini"
это выведет местоположение php.ini
используемое для cli. Отредактируйте там date.timezone
.
Что касается веб-режима, создайте файл foo.php
в своей «веб-директории» symfony, содержащей только "
<?php phpinfo(); ?>
И снова найдите местоположение php.ini
и отредактируйте date.timezone
.
Отредактируйте php.ini
(не обязательно в /etc/php.ini
– используйте php -i | grep ini
чтобы найти вашу версию) и добавьте часовой пояс.
Например, для Америки / Нью-Йорка это будет:
date.timezone = "America/New_York"
Это было упомянуто, но это так же просто, как:
sudo cp /etc/php.ini.default /etc/php.ini
Вы не можете установить часовой пояс, если он не может найти файл php.ini !!!!