Intereting Posts
конвертировать каждый дд мм yy в unix time и вставлять в поле birthday_date Удаление пустых строк из вывода текстовой области Есть ли способ распаковать файлы .Z с помощью php? FB не определен и запрашивает ошибку отправлять почту с помощью mail () в php Получить корневой узел XML-документа с помощью simplexml Как перемещать разделенные запятыми идентификаторы из одной строки в другую? PHP: Может включать файл, который file_exists () говорит, не существует Проверка типа MIME бесполезна для загрузки файла? (в частности, используя API файлов Javascript)? Как отправить безопасные запросы AJAX с PHP и jQuery localhost против 127.0.0.1 Должен ли я преобразовать сохраненный Markdown в HTML или просто сохранить HTML? ALTER TABLE в скрипте настройки Magento без использования SQL Получение внутреннего текста тегов HTML с использованием регулярных выражений Показать определенный контент на основе текущего сеанса пользователя PHP

PHP setlocale не работает

Я пытаюсь установить локаль от fr_FR до us_US в PHP (php-fpm) с nginX на моей малине-пи.
Вот мой код:

<?php system('locale -a'); /* C POSIX en_US.utf8 fr_FR fr_FR.iso88591 fr_FR.iso885915@euro fr_FR.utf8 So the en_US locale is well installed */ echo locale_get_default(); /* fr_FR */ echo setlocale(LC_ALL, '0'); /* LC_CTYPE=fr_FR.UTF-8;LC_NUMERIC=C;LC_TIME=C;LC_COLLATE=C;LC_MONETARY=C; LC_MESSAGES=C;LC_PAPER=C;LC_NAME=C;LC_ADDRESS=C;LC_TELEPHONE=C; LC_MEASUREMENT=C;LC_IDENTIFICATION=C */ var_dump(setlocale(LC_ALL, 'en_US.UTF-8', 'en_US.UTF8')); /* bool(false) */ var_dump(setlocale(LC_ALL, 'fr_FR.UTF8')); /* string(10) "fr_FR.UTF8" useless, but it shows that setlocale works with the already set locale */ ?> 

Я не понимаю, почему setlocale возвращает false .
Кажется, что-то не работает, но мне не удается найти что.

    У меня возникла такая же проблема после установки дополнительных локалей на debian-машине с nginx с php5-fpm

    Чтобы устранить проблему, мне пришлось перезапустить php5-fpm.

    Из документов (примечание в Windows ):

    В Windows setlocale (LC_ALL, '') устанавливает имена локалей из региональных / языковых настроек системы (доступных через Панель управления).

    http://php.net/manual/en/function.setlocale.php

    Работал для меня после того, как я побежал:

     sudo apt-get -y install language-pack-pt service php7.1-fpm restart <?php date_default_timezone_set('America/Sao_Paulo'); setlocale(LC_ALL, 'pt_BR', 'pt_BR.iso88591', 'pt_BR.utf8'); echo \Carbon\Carbon::now()->addMonth()->formatLocalized('%d %B %Y');