vikkyshostak
@vikkyshostak
< This head full of dreams.

Почему библиотека Date (расширение для Carbon) не работает на хостинге, но работает на локалке (да, опять про setlocale() и падежи месяца)?

Добра!

Бьюсь уже не первый день над этим вопросом. Входящие данные: Laravel 5.3, установлены Carbon и jenssegers/date. Хочу вывести дату написания поста в блог в формате ДД месяц ГГГГ (месяц с маленькой буквы и в родительном падеже, то есть 10 ноября 2016).

Делаю в контроллере так:

use Jenssegers\Date\Date;

// ...

setlocale(LC_TIME, 'ru_RU.UTF-8'); // Пробовал любые варианты написания 'ru_RU'
Date::setLocale(config('app.locale')); // 'locale' => 'ru'

$article = Article::where('id', '=', $id)
  ->firstOrFail();

$created_at = Date::parse($article->created_at)
  ->formatLocalized('%e %B %Y');

return view('pages.article', compact(
  'article', 'created_at',
));

// ...

Вывожу в шаблоне:

<p>Пост написан {{ $created_at }}.</p>

На локалхосте при php artisan serve (OS X 10.11.6) – всё отображается так, как надо – 10 ноября 2016. Причём, что с библиотекой jenssegers/date, что без неё (просто Carbon-ом). ОК.

Загружаю всё это на хостинг (Таймвеб) и вижу вот такой вывод даты: 10 Ноябрь 2016 (месяц с большой буквы и в именительном падеже). Из-за чего это может быть? Это к хостеру или я что-то не то делаю в Laravel?
  • Вопрос задан
  • 752 просмотра
Решения вопроса 1
vikkyshostak
@vikkyshostak Автор вопроса
< This head full of dreams.
Дело оказалось в настройках хостинга (модулей), которые «в рамках данного виртуального хостинга не могут быть изменены». Поэтому, в данной проблеме, поможет только moment.js или переход на VDS.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы