PHP setlocale不起作用 [英] PHP setlocale doesn't work

查看:106
本文介绍了PHP setlocale不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我尝试在树莓派上使用nginX在PHP(php-fpm)中将语言环境从fr_FR设置为us_US.
这是我的代码:

I try to set the locale from fr_FR to us_US in PHP (php-fpm) with nginX on my raspberry-pi.
Here is my code:

<?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.
看来有些事情行不通,但我没办法找到.

I don't understand why setlocale returns false.
It seems something doesn't work but I don't manage to find what.

推荐答案

在运行带有php5-fpm的nginx的debian计算机上安装其他语言环境之后,我遇到了同样的问题

I had the same problem after installing additional locales on debian machine running nginx with php5-fpm

要解决此问题,我必须重新启动php5-fpm.

To fix the problem I had to restart php5-fpm.

这篇关于PHP setlocale不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆