簡體   English   中英

i18n在debian中沒有通過php-fpm工作

[英]i18n not working via php-fpm in debian

我這里有一個奇怪的問題。 這是代碼:

 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");

這是本地化文件:

find ./locale/
./locale/
./locale/ru
./locale/ru/LC_MESSAGES
./locale/ru/LC_MESSAGES/messages.mo
./locale/ru/LC_MESSAGES/messages.po
./locale/en
./locale/en/LC_MESSAGES
./locale/en/LC_MESSAGES/messages.mo
./locale/en/LC_MESSAGES/messages.po

當我通過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.conf clear_env參數設置為Yes在添加此池配置中指定的env vars之前,通過清除工作線程中的環境,防止任意環境變量到達FPM工作進程設置為No請參閱手冊http://php.net/manual/en/install.fpm.configuration.php#clear-env

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM