igrok54
Ищущий
gettext в safe_mode
Проблема при локализации скрипта на хостинге с safe_mode on
Подключаю файлы локализации так:
$lang = 'ru';
if(empty($lang)) {define('LANG','en');}
else {define('LANG',$lang);}
putenv("LANG=".LANG); // Вот из-за этой строки вся проблема!
setlocale(LC_ALL,LANG);
bindtextdomain(LANG, SPATH . "locale/");
textdomain(LANG);
bind_textdomain_codeset(LANG, 'UTF-8');
На хостинге с safe_mode off все работает без проблем, а на хостинге с safe_mode on локализация не подключается, вместо страниц - белый лист
Safe_mode ругается именно на функцию putenv.
Если убрать строку putenv("LANG=".LANG); - локализация не включается нигде.
Поддерживается putenv для переменных с префиксом PHP_ в условиях safe_mode on
Если прописать дополнительное условие что-то типа:
if( ini_get('safe_mode') ) {
putenv("PHP_LANG=".LANG); // - эта строка неверна, может ее можно переписать? сам не могу допереть.
}else{
putenv("LANG=".LANG);
}
Весь Гугл перерыл с запросами "gettext safe_mode", "putenv safe_mode" и т.п. - ничего внятного не нашел. Может не туда копаю? Есть ли какой-нибудь путь это победить?
Проблема при локализации скрипта на хостинге с safe_mode on
Подключаю файлы локализации так:
$lang = 'ru';
if(empty($lang)) {define('LANG','en');}
else {define('LANG',$lang);}
putenv("LANG=".LANG); // Вот из-за этой строки вся проблема!
setlocale(LC_ALL,LANG);
bindtextdomain(LANG, SPATH . "locale/");
textdomain(LANG);
bind_textdomain_codeset(LANG, 'UTF-8');
На хостинге с safe_mode off все работает без проблем, а на хостинге с safe_mode on локализация не подключается, вместо страниц - белый лист
Safe_mode ругается именно на функцию putenv.
Если убрать строку putenv("LANG=".LANG); - локализация не включается нигде.
Поддерживается putenv для переменных с префиксом PHP_ в условиях safe_mode on
Если прописать дополнительное условие что-то типа:
if( ini_get('safe_mode') ) {
putenv("PHP_LANG=".LANG); // - эта строка неверна, может ее можно переписать? сам не могу допереть.
}else{
putenv("LANG=".LANG);
}
Весь Гугл перерыл с запросами "gettext safe_mode", "putenv safe_mode" и т.п. - ничего внятного не нашел. Может не туда копаю? Есть ли какой-нибудь путь это победить?