Пирог часовой пояс PHP неправильно

Я получил странную проблему с Пирогом. Я живу в Германии. Когда я добавляю сообщения, время в "созданной" области базы данных составляет 6 часов назад. Например, созданное 18:00 почты обнаруживается в базе данных как созданное 12:00. Я использую управляемый сервер, и я связался с компанией, которые устанавливают php.ini в правильный часовой пояс Европа/Берлин. Когда я прошу серверы php.ini, это показывает часовому поясу "Европу/Берлин" правильно. Но когда я управляю кодом

$timezone = date_default_timezone_get();
echo "The current server timezone is: " . $timezone;

в CakePHP это показывает

The current server timezone is: America/New_York

Я уже попытался установить в core.php:

date_default_timezone_set('Europe/Berlin');

Но это не имеет никакого эффекта вообще. Надо надеяться, кто-то знает, что сделать.

РЕДАКТИРУЮТ 1:

После того, чтобы просить, чтобы поддержка управляла "местом действия-a", следующее было выложено:

# locale -a
C
de_DE
[email protected]
de_DE.iso88591
[email protected]
de_DE.utf8
deutsch
en_US.utf8
german
POSIX

Я предполагаю, что серверная сторона, все прекрасно и ошибка, мудра пирогом. Но у меня нет подсказки, что сделать затем? Возможно, кто-то может помочь. Заранее спасибо.

** ОТРЕДАКТИРУЙТЕ 2: **

После оглядывания, чем это могло быть, я нашел ошибку в bootstrap.php Usermanagement-плагина, которые устанавливают часовой пояс там в UTC. Таким образом, все хорошо работает теперь. Спасибо за вашу помощь так или иначе.

3
nl ja de

3 ответы

Отредактируйте:

Если выполнение ответа ниже не имеет никакого эффекта (за OP), это могло быть эта проблема:

Довольно вероятно, что немецкое место действия не устанавливается на у сервера ваша работа сценария - делает вас, есть доступ раковины к сервер? Тогда попробуйте

место действия-a

видеть, какие места действия устанавливаются. Также взгляните, вот это выполнимый полагаться на setlocale и полагаться на устанавливаемые места действия?


TLDR:

You had the right idea - just put it in your Config/bootstrap.php. instead of your Config/core.php.

Больше Детали:

Это вероятно то же самое как этот вопрос. Это - ответ:

Поместите это в свой Config/bootstrap.php:

date_default_timezone_set ('UTC');//или независимо от того, что ваш часовой пояс

Это просто основано на времени сервера и действительно не имеет никакого отношения CakePHP - поэтому просто измените часовой пояс по умолчанию с PHP, и вы должны будьте хороши, чтобы пойти. 'созданный' и 'измененный' будет основан на указанном часовой пояс.

Чтобы повторить," , созданный " и" , измененный ", области ОСНОВАНЫ на сервере и действительно не имеют непосредственное отношение к CakePHP (который это кажется, что вы уже приняли правильно).

Связанный пункт (просто к вашему сведению, чтобы читать на) CakeTime:: новообращенный (), но в этом случае, не то, что вы хотели бы.

5
добавлено
I´ m жаль, но there´ s никакой эффект:-(
добавлено автор Karl, источник
@edit Дэйва. Печально я don´ у t есть доступ раковины, но я спрошу поддержку, если they´ d делают это для меня. Спасибо за вашу большую помощь:-)
добавлено автор Karl, источник
I´ m назад. Парень поддержки управлял командой, и следующее было выложено: немец места действия-a C de_DE [email protected] de_DE.iso88591 [email protected] de_DE.utf8 deutsch en_US.utf8 # POSIX. Таким образом, что сделать теперь? Я don´ у t есть подсказка вообще
добавлено автор Karl, источник

Проблема решена. Проблема была в плагине, у которого также был config.php. Там конфигурация Пирога была переписана. Теперь все прекрасно.

0
добавлено

Набор в app_controller не в code.php

0
добавлено
Жаль, но никакой эффект также. Странный...
добавлено автор Karl, источник
Нет, it´ s 2.x. I´ ll пробуют идеи Daves. Спасибо так или иначе:-)
добавлено автор Karl, источник
Ну, это показывает правильный часовой пояс в пироге, но спасенные посты - все еще неправильное время. Это позволяет, предполагают, что у сервера есть некоторые проблемы с местом действия. I´ ll возвращаются и говорят ответ компании сервера.
добавлено автор Karl, источник
Вы находитесь на cakephp 1.3? It' s работающий на меня..
добавлено автор Crsr, источник
Хорошо, никакая проблема, на 1.3 it' s работающий в beforeRender ():)
добавлено автор Crsr, источник