Search code examples
phpapachelocale

PHP doesn't see locales installed on the server


ubuntu 13, php 5.5.3

when I run "locale -a" from root console I get the following list:

C
C.UTF-8
de_AT.utf8
de_BE.utf8
de_CH.utf8
de_DE
de_DE@euro
de_DE.iso88591
de_DE.iso885915@euro
de_DE.utf8
de_LI.utf8
de_LU.utf8
en_US.utf8
POSIX

but when i run

system("locale -a")

from PHP I receive another list:

C
C.UTF-8
POSIX
af_ZA.utf8
en_AG
en_AG.utf8
en_AU.utf8
en_BW.utf8
en_CA.utf8
en_DK.utf8
en_GB.utf8
en_HK.utf8
en_IE.utf8
en_IN
en_IN.utf8
en_NG
en_NG.utf8
en_NZ.utf8
en_PH.utf8
en_SG.utf8
en_US.utf8
en_ZA.utf8
en_ZM
en_ZM.utf8
en_ZW.utf8 

what can I make my PHP see German locales installed on the server?

ps: apache is running under www-data user.

thanks in advance


Solution

  • Try

    dpkg-reconfigure locales
    

    mark all you need. then restart php-fpm (if you use fpm) or simply reboot system. you'll be able to use any of listed with locales -a