URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID8
Нить номер: 4352
[ Назад ]

Исходное сообщение
"Слетают переменные окружения PHP Environment после первой перезагрузки"

Отправлено Алексей , 13-Сен-06 11:08 
Доброго всем времени суток!

Ситуация такая. Есть Freebsd 6.1 - Apache-1.3.34+Oracle7-client+PHP-4.4.2

Ставлю апач из пакета, клиента оракл, freetds, прописываю переменные в /etc/csh.cshrc (ORACLE_HOME, ORACLE_SID, LD_LIBRARY_PATH, NLS_LANG). Перегружаюсь - #printenv - все есть. Ставлю PHP4-oracle из портов, предварительно поправив MAkefile в зависимом порте PHP4 для компиляции с mssql, make, make install. Далее стартую апач и смотрю phpinfo:

ENVIRONMENT
*********************
MACHTYPE      i386
USER     root
MAIL     /var/mail/root
SHLVL     1
VENDOR     intel
HOME     /root
PAGER     more
ORA_NLS32     /usr/local/oracle7/ocommon/nls/admin/data
GROUP     wheel
LOGNAME     root
BLOCKSIZE     K
TERM     cons25r
PATH     /sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/usr/X11R6/bin:/root/bin
ORACLE_HOME     /usr/local/oracle7
HOST     pskovtk.ru
SHELL     /bin/csh
ORACLE_SID     PTK
OSTYPE     FreeBSD
PWD     /
FTP_PASSIVE_MODE     YES
NLS_LANG     AMERICAN_CIS.CL8MSWIN1251
HOSTTYPE     FreeBSD
EDITOR     /usr/bin/ee
************************************
соответственно все необходимые переменные с префиксом _ENV есть и в PHP Variables.

После последущей перегрузки FreeBSD пхп этих переменных уже не видит:

ENVIRONMENT
********************
HOME     /
PATH     /sbin:/bin:/usr/sbin:/usr/bin
********************
Причем значения переменных HOME и PATH изменились!

Опции сборки пхп:
./configure' '--enable-versioning' '--with-layout=GNU' '--with-config-file-scan-dir=/usr/local/etc/php' '--with-mssql=/usr/local' '--with-apxs=/usr/local/sbin/apxs' '--disable-all' '--with-regex=php' '--disable-ipv6' '--prefix=/usr/local' 'i386-portbld-freebsd6.1'

Не могу понять где собака порылась. Буду признателен любому совету!


Содержание

Сообщения в этом обсуждении
"Слетают переменные окружения PHP Environment после первой пе..."
Отправлено sergei_vasilyev , 13-Сен-06 18:10 
Алексей,
напрасно Вы решили, что перед стартом Апача будет выполняться /etc/csh.cshrc
Апач стартует скриптом /usr/local/etc/rc.d/apache.sh
Дальше подумайте сами

"Слетают переменные окружения PHP Environment после первой пе..."
Отправлено прохожий , 02-Окт-06 09:16 
ИМХО для Ваших целей больше пойдет использование
директивы SetEnv в конфиге apache

"Слетают переменные окружения PHP Environment после первой пе..."
Отправлено Эл , 25-Янв-08 05:47 
Доброго всем времени суток!

Я решил эту проблему у себя так:

надо установить переменную окружения в ORACLEHome через шелл в bash
ORACLE_HOME=/var/ora/oracle/product/10.2.0/db_1; export ORACLE_HOME

а навело меня на такое решение эта ссылка:

http://www.oraclub.ru/faq/os/unix

Как установить переменные окружения Oracle?

При инсталляции Oracle в обязательном порядке устанавливает скрипт oraenv.
Используйте его для задания таких переменных как ORACLE_HOME, ORACLE_SID, и т.д.
Никогда не задавайте в Ваших скриптах каталог Oracle Home явно.