Я пытаюсь найти локаль системы из PHP-скрипта на Debian. Путь я:Выяснить системный язык из PHP-скрипта на linux
<?php
$out = shell_exec('locale');
print_r($out);
?>
Результат:
LANG=C
LANGUAGE=
LC_CTYPE="C"
LC_NUMERIC="C"
...
Но когда я пишу 'локаль' команду в моей системной консоли я получаю результат 'правильный':
LANG=ru_RU.UTF-8
LANGUAGE=
LC_CTYPE="ru_RU.UTF-8"
LC_NUMERIC="ru_RU.UTF-8"
...
Что такое правильный способ получить системный язык из PHP-скрипта?
Общая цель: В запросе принимаю путь к файлу, который может содержать кириллические символы. Затем мне нужно получить доступ к файлам в этом каталоге. Поэтому я хочу, чтобы мой PHP-скрипт работал с системами, которые используют разные локали (например, ru_Utf8, Koi8-r).
Вы уверены, что системный языковой стандарт действительно является * системой * локали, а не только локали вашего пользователя? – zneak
Apache с php-модулем запускается под пользователем «www-data». Я предположил, что php вернет свой язык, но я не уверен. Из командной строки команда «locale» возвращает utf8 по www-данным. – Sas
Что у вас есть в '/ etc/default/locale'? – zneak