동일한 오류가 발생합니다. 내 경우는 약간 다르다. 코드를 변경 한 이후에도 스레딩과 관련이 있다고 생각하기 시작했다.
<?php
include_once (dirname(__FILE__) . "/resources/config.php");
?>
<div id='language_bar'>
<a style="margin-left:50px" href="./index.php?locale=es_ES">
<img src='<?php echo $config['paths']['images']['lang']?>/es_ES.gif'/>
</a>
<a href="./index.php?locale=en_UK">
<img src='<?php echo $config['paths']['images']['lang']?>/en_UK.gif'/>
</a>
<a href="./index.php?locale=de_DE">
<img src='<?php echo $config['paths']['images']['lang']?>/de_DE.gif'/>
</a>
</div>
그리고있는 설정 파일 :
if (isset($_GET['locale'])) {
$locale = $_GET['locale'];
setcookie('locale', $locale, time() + 60 * 60 * 24 * 30);
} else {
if(isset($_COOKIE['locale'])) {
error_log('En _COOKIE');
$locale = $_COOKIE['locale'];
}
else {
$locale = $config['localization']['default_locale'];
setcookie('locale', $locale, time() + 60 * 60 * 24 * 30);
}
}
putenv("LC_ALL=$locale");
setlocale(LC_ALL, $locale);
error_log('setlocale->'.setlocale(LC_ALL, "0")." Env ->". getenv("LC_ALL"));
error_log(_("Submit"));
내 주요 페이지에 jQuery를 통해 상호 작용하는 몇 가지 div가 있으며, 폭포에서 다시로드
나는 언어 바있다. 때로는 그들 중 일부는 (임의로) 기본 문자열 값을 제공합니다. 기본적으로
, 그것은 스페인어 (ES_ES)이며, DIV 새로 고침을 강제로 몇 번의 클릭 후, 일부 문자열이 영어 (ko 페이지 원래 문자열)에 인쇄됩니다. 그리고 무엇보다. 독일어로 전환하면 (de_DE), 독일어로 모든 문자열을 가져 오는 첫 번째 새로 고침 이후 gettext는 스페인어로 문자열을 다시 시작하고 잠시 후 영어로 문자열을 다시 시작합니다.
PHP 로그에 디버그 라인을 추가했습니다. 그들은 정말 재미있다 :
가 정상적으로 작동 할 때 :
[Thu May 31 00:28:51 2012] [error] [client ::1] setlocale->es_ES Env ->es_ES
[Thu May 31 00:28:51 2012] [error] [client ::1] Aplicar, referer: xxxxxxxx/index.php
하지 않는 경우 :
[Thu May 31 00:29:45 2012] [error] [client ::1] setlocale->es_ES Env ->es_ES, referer: xxxxxxxxx/index.php
[Thu May 31 00:29:45 2012] [error] [client ::1] Submit, referer: xxxxxxxx/index.php
그래서 내가 것 같아요 _() 함수 (난 항상 별칭을 사용하고 있습니다) 실패 . 필자는 함수에 대해 10.000 번 반복했고, 변환하는 동안 10.000 건의 안타 또는 10.000 건의 실수가 있었기 때문에 전체 http 요청에 실패하거나 그렇지 않습니다.
정말 많이 쓰는 것에 사과하지만, 올바른 방향으로 나를 가리키는 데 도움이됩니다.(이 오류는 @ localhost뿐만 아니라 내 온라인 테스트 서버에서도 발생합니다.)
¿ 모든 연결에 대해 로캘을 설정한다는 것과 관련이있을 수 있습니까?
내 온라인 "놀이터"입니다 :
리눅스 server8.nixiweb.com 2.6.32-71.29.1.el6.x86_64 # 1 SMP 월 6월 27일 영국 서머 타임 19시 49분 27초 2011 x86_64에
내 서버 :
리눅스 filete 둘 것을 3.2.0-24-일반적인 # 39 - 우분투 SMP 월 세계 협정시 16시 52분 17초 월 2012 (21) x86_64에 PHP 버전 5.3.10-1ubuntu3.1
주 64bits
'$ domain'은 ...인가요? –
$ domain은 확장자가없는 파일 이름입니다. 여기 코드로 작업합니다. http://onlamp.com/pub/a/php/2002/06/13/php.html –
그러면 "트레이드"가됩니까? –