Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
sirex2003
Зарегистрирован: 11.03.2008 Сообщения: 4
|
Добавлено: Вт Мар 11 2008 10:44 Заголовок сообщения: Debian+apache2+ php5+oracle XE 10g |
|
|
Установил все эти пакеты. В дебиане сменил локаль на win1251. Прикрутил библиотеку oci8.
В оракле charset поставил тоже 1251. Импортнул базу.
В веб-морде самого оракла все шрифты отображаются нормально вне зависимости от браузера, кроме тех что я заносил через apache2.
Проблема вот в чём apache2 по какой-то причине ломает кодировку данных полученных из базы отображаются знаками "?". И при занесении данных в базу через скрипт на серваке они тоже поломаны.
Помогите решить проблему. Или хотя бы понять что за сервер использует оракл и где конкретно у себя его найти.
Заранее благодарен.
Последний раз редактировалось: sirex2003 (Ср Мар 12 2008 16:36), всего редактировалось 1 раз |
|
Вернуться к началу |
|
|
sirex2003
Зарегистрирован: 11.03.2008 Сообщения: 4
|
Добавлено: Вт Мар 11 2008 23:17 Заголовок сообщения: |
|
|
Облегчаю задачу. Причину выяснил в связи с ней возникли новый вопрос.
Проблема возникает из-за не заданых переменных окружения LC_ALL и NLS_LANG.
Как сделать так чтобы эти переменные загружались либо вместе с апачи или во время загрузки системы, а не логин пользователя ? |
|
Вернуться к началу |
|
|
and3008
Зарегистрирован: 12.10.2001 Сообщения: 14893 Откуда: Н.Новгород
|
Добавлено: Ср Мар 12 2008 00:20 Заголовок сообщения: |
|
|
Объясняю. Любая служба работает в контексте безопасности какого-либо пользователя. Зачастую используются его переменные среды, которые установлены в его профиле.
Ну так в профиль юзверя, под которым работает софт, пропишите нужные переменные окружения и будет вам щастье. |
|
Вернуться к началу |
|
|
sirex2003
Зарегистрирован: 11.03.2008 Сообщения: 4
|
Добавлено: Ср Мар 12 2008 16:36 Заголовок сообщения: |
|
|
Ну ты это моему апачи объясни Он стартуется без пользователя а вот если зайти под пользователем, убить апачи и стартонуть снова, то он запускается как бы от лица пользователя и работает норм.
Решил траблу довольно просто:
1)Зашёл в папочку init.d
2)Добавил в файлик стартуюший апачи эти переменные со значениями.
3)Рестартонул
4)Стал счастливым
сначала парился с rc.local потом втупил что debian им не пользуется
спасибо мне за решение |
|
Вернуться к началу |
|
|
VeL
Зарегистрирован: 18.01.2006 Сообщения: 521 Откуда: Харьков
|
Добавлено: Ср Мар 12 2008 18:22 Заголовок сообщения: |
|
|
sirex2003 писал(а): | Ну ты это моему апачи объясни Он стартуется без пользователя |
А разве так бывает? и на основании чего сделан такой вывод? _________________ Best regards |
|
Вернуться к началу |
|
|
sirex2003
Зарегистрирован: 11.03.2008 Сообщения: 4
|
Добавлено: Сб Мар 15 2008 10:41 Заголовок сообщения: |
|
|
Очень просто. PHP умеет читать переменные окружения связанные с ним самим и конкретно с апачи (он же сознательный модуль всё-таки). В переменных окружения любого пользователя есть собственно его имя. Когда стартуется апачи у него заданы только 4 переменные (которые кстати вместе со значениями занесены в файлик apache2 в папке init.d). Далее можно тупо догадаться что среди них нету переменной user =). А вот если залогинится. Остановить апачи и запустить, то он пускается от лица пользователя и соответственно со всеми его переменными включая user. Собственно в файлик указаный выше я добавил нужную мне переменную со значением и в ответ получил счастье.
Если вообще это не так, то извините я учу linux на конкретно своей системе и у меня так =). |
|
Вернуться к началу |
|
|
|