2017-06-02 60 views
0

我有一個Web應用程序,通常以法語顯示任何日期的月份。在Ubuntu重新啓動後以英文顯示月份

即使當我重新啓動NginX服務器和php-fpm服務器時,日期也會以法語顯示。

但今天我做了Ubuntu的12機的重啓,現在的Web應用程序的所有日期的月份,顯示在英語Jun 2, 2017 5:11:27 PM02/06/2017 17:03

如果我在date命令外殼I型獲取日期在法國,雖然vendredi 2 juin 2017, 23:47:59 (UTC+0200)

以下是有關安裝的語言環境的詳細信息:

/var/www$ sudo locale -a 
C 
C.UTF-8 
en_US.utf8 
fr_BE.utf8 
fr_CA.utf8 
fr_CH.utf8 
fr_FR.utf8 
fr_LU.utf8 
POSIX 
[email protected]:/var/www$ sudo locale 
LANG=fr_FR.UTF-8 
LANGUAGE= 
LC_CTYPE="fr_FR.UTF-8" 
LC_NUMERIC=fr_FR.UTF-8 
LC_TIME=fr_FR.UTF-8 
LC_COLLATE="fr_FR.UTF-8" 
LC_MONETARY=fr_FR.UTF-8 
LC_MESSAGES="fr_FR.UTF-8" 
LC_PAPER=fr_FR.UTF-8 
LC_NAME=fr_FR.UTF-8 
LC_ADDRESS=fr_FR.UTF-8 
LC_TELEPHONE=fr_FR.UTF-8 
LC_MEASUREMENT=fr_FR.UTF-8 
LC_IDENTIFICATION=fr_FR.UTF-8 
LC_ALL= 

sudo locale-gen fr_FR.UTF-8 
Generating locales... 
    fr_FR.UTF-8... up-to-date 
Generation complete. 

sudo update-locale 

我也重新啓動nginx的,但它並沒有幫助。

下面是從phpinfo()函數調用一些輸出:

iconv.input_encoding ISO-8859-1 ISO-8859-1 
iconv.internal_encoding ISO-8859-1 ISO-8859-1 
iconv.output_encoding ISO-8859-1 ISO-8859-1 
version 1.1.0 
ICU version 
intl.default_locale no value no value 

日期6/3/17 4:47 PM的例子(它應該切換到17年3月6日)和她的PHP代碼:

$date = \DateTime::createFromFormat('Y-m-d H:i:s', $action['date_reminder']); 

$this->dateFormat($date, IntlDateFormatter::SHORT, IntlDateFormatter::SHORT) 

IntlDateFormatter來自Start of intl v.PECL-3.0.0

提醒:只有在機器重新啓動後纔會顯示問題。

回答

0

在應用程序中設置的地點明確使用setlocalehttps://secure.php.net/manual/en/function.setlocale.php

+0

我的應用程序並沒有因爲機器重啓改變。它已經有了所有的語言環境配置。機器重新啓動後彈出問題。 – Stephane

+0

你能提供你的'phpinfo'和一段輸出英文日期的代碼嗎 –