i18n在debian中无法通过php fpm工作

i18n在debian中无法通过php fpm工作,php,debian,gettext,Php,Debian,Gettext,我这里有个奇怪的问题。代码如下: cat ./test.php <?php setlocale(LC_ALL,""); //setlocale(LC_MESSAGES,'ru'); //setlocale(LC_CTYPE,'ru'); putenv("LANG=ru"); putenv("LANGUAGE=ru"); $domain = 'messages'; bindtextdomain($domain, "./locale"); textdomain($domain); //v

我这里有个奇怪的问题。代码如下:

 cat ./test.php
<?php

setlocale(LC_ALL,"");
//setlocale(LC_MESSAGES,'ru');
//setlocale(LC_CTYPE,'ru');
putenv("LANG=ru");
putenv("LANGUAGE=ru");

$domain = 'messages';
bindtextdomain($domain, "./locale");
textdomain($domain);
//var_dump($r);
//exit;

echo gettext("Welcome to My PHP Application");
print "\n";
echo gettext("ololo");
通过CLI执行脚本时,一切正常:

php ./test.php
Добро пожаловать!
452231
但当我从网络上调用它时,我只得到:

Welcome to My PHP Application
ololo
我错过了什么?我使用的是Debian 8.6、nginx、php fpm 5.6.29。在CLI和FPM配置中都启用了Gettext和Intl模块


谢谢

解决方案由作者提出: php-fpm.confclear_env参数默认设置为Yes在添加此池配置中指定的环境变量之前,通过清除workers中的环境,防止任意环境变量到达fpm工作进程
请参阅手册

BTW,同样的代码在最近的Centos 6.6上运行得非常好。这让我很困惑。这可能与CLI和web服务器之间的当前工作目录不同有关。您是否尝试查看错误日志以确保没有收到任何关于缺少本地化文件的错误?您的fpm用户是否有权查看.locale?cli php.ini和fpm中存在一些差异。也许fmp php.ini中没有为putenv(…)?@myxaxa启用全局变量集,请您给出完整的答案,这样我就可以接受它并为您提供奖励分数?
Welcome to My PHP Application
ololo