Не настроен параметр ini файла date timezone

Не удается установить date.timezone В файле php.ini

Я использую php5.5 и получаю эту ошибку всякий раз, когда я использовал функцию даты в PHP:

загруженный файл конфигурации находится здесь:

поэтому я изменил настройку date.timezone на это:

Затем я перезапускаю сервер:

Давайте найдем правильный php.ini. Огонь это внутри apache / nginx / независимо от того, что вы используете для веб-сервера (поскольку версия командной строки может отличаться от используемой им).

После редактирования php.ini просто перезапустите веб-сервер (apache или nginx) …

наконец, решил мою проблему, это мой загруженный файл конфигурации:

изменил дату.timezone здесь, но он не работает.

то я ищу date.timezone из всех файлов в этой папке, но не нашел ни одного.

Я изменил /etc/php5/apache2/conf.d/20-xdebug.ini и добавил следующую строку:

Вы должны проверить, найдя php.in, если там где-то есть другое.

для меня. там должен быть CLI для интерфейса командной строки:

Теперь это работает для меня.

Другим решением для меня после компиляции PHP из исходного кода было проверить, действительно ли php.ini загружает файл конфигурации. Из командной строки

Недавно я столкнулся с той же проблемой с PHP 5.6.4.

Когда я устанавливаю date.timezone конфигурации date.timezone разделе [PHP] в файле конфигурации, он отлично работает для PHP 5.6.4. Например, я добавил параметр в самом начале файла php.ini

Но когда я поставлю опцию конфигурации, как это показано в примере в разделе [Date] она не работает должным образом, похоже, что опция игнорируется

Когда я добавляю параметр к 20-xdebug.ini как это предлагается в принятом ответе https://stackoverflow.com/a/20731466/2111430, эта опция принимается, потому что этот файл имеет только [PHP] раздел. Из любопытства я попробовал другие включенные ini файлы, и похоже, что я могу использовать их.

Еще раз, проблема возникла для меня только с PHP 5.6.4. Когда я изменил параметр на сервере с PHP 5.6.11, он вел себя точно так, как я ожидал.

Проверьте наличие конфликтующих настроек в php.ini, у меня была такая же проблема, и в моем случае параметры xdebug, определенные до даты. Timezone, вызывающие эту вещь: Для более подробной информации обратитесь: PHP Xdebug issue – date.timezone & session.save_path undefined

Это работало для меня, когда я заметил, что запись date.timezone в php.ini была прокомментирована. После удаления точки с запятой часовой пояс был установлен правильно.

некоторые установочные установки php для командной строки (например, установщик symfony или даже когда скрипты php запускаются из cli), используйте ini-файл внутри каталога php-cli

это решило мою аналогичную проблему в процессе проверки зависимостей при установке Symfony.

Я исправил это в Mac OSX El Captain, создав структуру папок: / Library / Server / Web / Config / php, а затем создав php.ini внутри этой новой папки php только с директивой date.timezone.

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

В моем случае у меня было 2 date.timezone= записи в файле php.ini, а последнее – переопределение первого. удаление одного из них решило мою проблему.

Также не забывайте, что вам необходимо перезапустить процесс веб-сервера.

Источник

Невозможно установить дату.часовой пояс в php.ini-файл

Я использую php5.5 и получение этой ошибки всякий раз, когда я использовал функцию даты в PHP:

загруженный файл конфигурации находится здесь:

поэтому я изменил дату.установка часового пояса в это:

затем я перезапускаю сервер:

Я проверил php.разрешение ini-файла, но все еще не работает пожалуйста, направьте меня, чтобы решить эту проблему, спасибо..

11 ответов

давайте найдем правильный php.ini. Запустите это в apache / nginx / любом веб-сервере, который вы используете (потому что версия командной строки может отличаться от используемой ею).

после php.ini edit, просто перезапустите веб-сервер (apache или nginx).

наконец-то решил мою проблему, это мой загруженный файл конфигурации:

изменена дата.часовой пояс здесь, но он не работает.

затем я ищу дату.часовой пояс у всех файлов в этой папке, но не нашел.

Я изменил файл /etc/php5 с/apache2 не/конф.d / 20-xdebug.ini, и добавил эту строку:

вы должны проверить, найдите php.в, если где-то есть еще один.

для меня. там должен быть CLI для интерфейса командной строки:

это работает для меня сейчас.

другим решением для меня после компиляции PHP из исходного кода было проверить php.ini фактически загружал файл конфигурации. Из командной строки

недавно я столкнулся с той же проблемой с PHP 5.6.4.

когда я ставлю date.timezone опция конфигурации в разделе [PHP] в файле конфигурации отлично работает для PHP 5.6.4. Например я добавил опцию в самом начале

но когда я поставил настройки, как это показано в Примере под [Date] раздел он работает не так, как ожидалось, похоже, что опция игнорируется

еще раз, проблема произошла для меня только с PHP 5.6.4. Когда я изменил опцию на сервере с PHP 5.6.11, она вела себя точно так, как я ожидал.

Он работал для меня, когда я заметил, что дата.запись часового пояса в PHP.ini был прокомментирован. После удаления точки с запятой часовой пояс был установлен правильно.

некоторые установщики приложений php командной строки (например, установщик symfony или даже когда PHP-скрипты запускаются из cli) используют ini-файл внутри каталога php-cli

это решило мою аналогичную проблему в процессе проверки зависимостей при установке Symfony.

я исправил это в Mac OSX El Captain, создав структуру папок: / Library/Server/Web/Config / php, а затем создав php.ini внутри этой новой папки php только с датой.директива часового пояса.

Если вы установили дату.значение часового пояса в PHP.ini но он не работает (т. е.. локальное значение и основное значение разные), то вам может потребоваться обновить что-то вроде этого в файле конфигурации apache:

в моем случае у меня было 2 date.timezone= записи в php.ini-файл и последний был переопределен первым. удаление одного из них решило мою проблему.

также не забывайте, что вам нужно перезапустить процесс веб-сервера.

Источник

datetime — php.ini ‘date.timezone’ не имеет никакого эффекта

В моем php.ini Я установил:

И время сервера тоже UTC + 0, но когда я пробую этот скрипт, чтобы получить часовой пояс:

который UTC+2 и не UTC+0 и я не вижу, как это происходит.

Просто чтобы уточнить:

Решение

Эта строка, безусловно, является правильным местом для изменения дефолт часовой пояс.

Проверьте, нет ли других определений этого параметра в файле. Он может переопределить то, что вы установили, если просто скопировать его в любое место.

Проверьте, не переопределяет ли код то, что вы установили в INI-файле. date_default_timezone_set() устанавливает его (и переопределяет) в PHP.

Проверьте phpinfo() для получения дополнительной информации о текущем часовом поясе.

Другие решения

Вы проверили переменную окружения «TZ» для пользователя вашего веб-сервера? Если он установлен, настройка date.timezone php.init не будет работать должным образом, как указано в Руководство по PHP :

строка date.timezone
Часовой пояс по умолчанию, используемый всеми функциями даты и времени. До PHP 5.4.0 это работало, только если переменная окружения TZ не была установлена. Порядок приоритетов, для которого используется часовой пояс, если он явно не указан, описан на странице date_default_timezone_get ().

Я предлагаю вам обратиться к этому списку, чтобы выбрать часовой пояс:

Предупреждение: Не используйте ни один из часовых поясов, перечисленных в следующей ссылке, они существуют только для целей обратной совместимости, кроме UTC:

Настоятельно рекомендуется использовать правильный часовой пояс для вашего местоположения, например: Европа / Берлин:

Источник

Ошибка «It is not safe to rely on the system’s timezone settings»

Как исправить ошибку изменением параметра в конфигурации PHP

Чтобы устранить ошибку «It is not safe to rely on the system’s timezone settings. », установите в файле php.ini подходящую временную зону для параметра date.timezone в конфигурации PHP. Пример значения временной зоны: europe/moscow.

Если у вас нет доступа к файлу php.ini, укажите временную зону в файлах Вебасиста любым из этих способов.

Способ А

В файле .htaccess в корневой директории Вебасиста добавьте на новой строке команду

Способ Б

В файле wa-config/SystemConfig.class.php после тега

на следующей новой строке добавьте команду

Более подробно о параметре date.timezone написано в документации PHP.

9 комментариев

Проделал все процедуры. Ничего не помогает. Также выдаёт при входе в админку или настройки:

Warning: date(): 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 /home3/kanyukov/public_html/webasyst/kernel/functions.php on line 7717

Warning: date(): 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 /home3/kanyukov/public_html/webasyst/kernel/includes/pear/Date/TimeZone.php on line 874

И это не при установке. Работал нормально.2 года. А вот с неделю такая беда.

Помогите. Кто сталкивался с такой ситуацией.

Доброе время суток!

Обнаружили что у нас достаточно давно не отрабатываются триггерные рассылки. от CRON приходи вот такая ошибка:

В файле на который ссылается ошибка следующий код

Источник

Установка временнОй зоны в PHP

Иногда возникает такая ситуация, что текущее время на сервере не соответствует вашему текущему часовому поясу или часовому поясу региона, на который ориентирован ваш сайт.

Чтобы было понятно, напомню: территориально Россия очень большая, и далеко не всем нужно, чтобы их сайты «жили» по московскому времени. Например, Урал, Сибирь, Дальний восток и т.д.

Серверы большинства популярных российских хостинг-провайдеров размещены на технологических площадках Москвы и Санкт-Петербурга и по-умолочанию настроены, естественно, на московскую временну́ю зону. Сервер не может автоматически подстраиваться под ваше текущее местоположение и переводить системные часы. В связи с чем, работа функций даты и времени на сайте может быть не совсем корректной. Естественно, сейчас речь не идёт о CMS, в которых поправка часового пояса обычно присутствует прямо в интерфейсе администратора.

В первую очередь проверьте текущее состояние с помощью PHP-кода:

Хорошо, если у вас свой сервер и имеется доступ к php.ini, где можно задать нужную временну́ю зону и забыть. Например, таким образом:

Правда, если на сервере размещены несколько проектов, в которых должны поддерживаться различные часовые пояса, тогда лучше этого не делать. В этом случае будет правильнее задать временные зоны только для проектов, где один часовой пояс.

Установка временной зоны на виртуальном хостинге

Если способ не сработает, тогда воспользуемся функцией date_default_timezone_set(), которая устанавливает временную зону по умолчанию для всех функций даты и времени. Для этого нужно где-нибудь в начале скрипта просто добавьте такую строку:

Естественно, Europe/Moscow меняется на необходимый вам часовой пояс. Для территории РФ в PHP поддерживаются следующие временные зоны:

Со списком всех доступных временных зон можно ознакомиться по ссылке или выполнить команду, которая возвратит вам список временных зон, доступных на вашем сервере.

Делаю сайты на Вордпресс с 2008 года, занимаюсь их оптимизацией, беру на поддержку, делюсь опытом в блоге и соцсетях (ссылки ниже, подпишитесь)

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *