Pusher: работает только на локальном хосте - проблема с часовым поясом

На моем локальном хосте проблем нет, все работает нормально. Но на моем рабочем сервере событие не работает.

Я могу подписаться и слушать свои события с помощью js. Но моя консоль отладки никогда не получает мои события.

И я видел, как некоторые люди упоминали часовой пояс. Я обнаружил:

  • моя консоль отладки имеет время UTC (кластер 'eu')
  • PHP-локальный хост: UTC
  • php продукт: Европа/Париж

(Я не знаю, имеет ли значение, но часовой пояс app.php моего Laravel - UTC)

Хорошо, у нас может быть что-то здесь. Проблема в том, что я на виртуальном хостинге и не могу изменить php.ini.

Итак, ребята, есть какие-нибудь подсказки по этому поводу? Как я могу сделать, чтобы мои события работали на сервере prod?


person nicolasca    schedule 22.06.2017    source источник
comment
возможно, используйте VPS, если вы не можете взломать свой часовой пояс с помощью php. net/manual/en/function.date-default-timezone-set.php или установите значение конфигурации timezone (app.php)   -  person Kyslik    schedule 22.06.2017
comment
Что заставляет вас подозревать, что проблема связана с часовыми поясами? Получаете ли вы какие-либо ошибки в своем журнале при запуске событий на вашем сервере?   -  person jameshfisher    schedule 22.06.2017
comment
Я только что нашел это с поддержкой! Это был часовой пояс :) Мне просто нужно было указать часовой пояс Laravel в app.php для Европы/Парижа, чтобы он работал в продакшене!   -  person nicolasca    schedule 22.06.2017
comment
Если проблема связана со временем, скорее всего, она связана с неверным абсолютным временем на вашем сервере. Pusher использует отметку времени с вашего локального компьютера для авторизации ваших запросов триггеров.   -  person jameshfisher    schedule 22.06.2017
comment
Пожалуйста, прочтите статью о лучших практиках часового пояса, особенно обратите внимание: On серверы, установите аппаратные часы и часы ОС на UTC, а не на местный часовой пояс. Это также относится к файлам конфигурации всего приложения. Управляйте часовым поясом в каждом конкретном случае в вашем коде, а не глобально в вашей конфигурации.   -  person Matt Johnson-Pint    schedule 22.06.2017


Ответы (1)


Я только что нашел это с поддержкой! Это был часовой пояс :) Мне просто нужно было указать часовой пояс Laravel в app.php для Европы/Парижа, чтобы он работал в продакшене!

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

person nicolasca    schedule 22.06.2017
comment
как ты это реализовал?? Можете поделиться кодом?? - person Haseeb Burki; 06.01.2019