PHP setlocale()在浏览器中失败但在cli中工作

时间:2017-06-28 10:14:18

标签: php locale

当我从命令行运行这个php文件时,它运行正常。但是通过浏览器运行它不起作用。

我在本地虚拟Vagrant机器上运行它。运行Ubuntu Xenial 16.04 LTS x64。

<?php
$sd = setlocale(LC_TIME, 'nl_NL');
var_dump($sd);
echo strftime("%A");

输出:

$ php test.php 
/var/www/domain/test.php:3:
string(5) "nl_NL"
woensdag

在te浏览器中运行相同的文件:

/var/www/domain/test.php:3:boolean false
Wednesday

我不明白为什么会这样。我已经安装了语言环境。

$ locale -a
C
C.UTF-8
dutch
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
en_US.iso88591
en_US.utf8
en_ZA.utf8
en_ZM
en_ZM.utf8
en_ZW.utf8
nl_NL
nl_NL.iso88591
nl_NL.utf8
POSIX

1 个答案:

答案 0 :(得分:1)

安装新的语言环境后,需要重新启动PHP才能使新语言环境正常工作。所以尝试重启PHP。