Перейти к публикации
View in the app

A better way to browse. Learn more.

Дизайн и модификация Invision Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

На форуме php-функция time() отстаёт на 3 часа...

Опубликовано:

php 5.3.3

На сервере временные зоны установлены корректные. В настройках php указано:

date.timezone = Europe/Moscow

 

php-функция time() на сайте возвращает корректное время,

на форуме (при выполнении форумного скрипта) - на 3 часа отстаёт.

 

Проверил - виноват вот этот код (initdata.php):

/**
* Fix for PHP 5.1.x warning
*
* Sets default time zone to server time zone
* @since 2.2.0.2006-05-19
*/
if ( function_exists( 'date_default_timezone_set' ) and !defined( 'DO_NOT_SET_TIMEZONE' ) ) // bug report 25566
{
if ( ! @date_default_timezone_get() )
{
	date_default_timezone_set( @ini_get('date.timezone') ? ini_get('date.timezone') : 'UTC' );
}
else
{
	date_default_timezone_set( 'UTC' );
}
}

А именно - последняя строка кода, которая сбрасывает [date.timezone] в глобальный [uTC]:

date_default_timezone_set( 'UTC' )

 

Объясните на пальцах логику приведённого кода. В данном случае функция [date_default_timezone_get] возвращает зону, установленную в [date.timezone] и далее (else) сбрасывает её в [uTC]. Зачем ?

Изменено пользователем cyrax_02

Рекомендованные сообщения

Опубликовано:

Т.е. менять 'UTC' на 'UTC+3' нельзя, иначе у форумчан будут проблемы со временем?

 

А фикс из поста #14 как использовать нужно, это правка для initdata.php ?

Опубликовано:

Т.е. менять 'UTC' на 'UTC+3' нельзя, иначе у форумчан будут проблемы со временем?

По идее да. Время на форуме устанавливается в системных настройках форума.

Автор сделал его для собственных нужд, если у вас нет такой нужды делать его не нужно.

Создайте аккаунт или войдите в него для комментирования

Сейчас на странице 0

  • Нет пользователей, просматривающих эту страницу.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.