Переменные окружения

bookworm

Guest
Переменные окружения

Я думаю, что я далеко не новичок в PHP, пишу несколько лет.
Естьтакие работы как shatura-salon.ru или serkos.ru

Но недавно я столкнулся с проблемой, которую никак не могу разрешить.

Итак, мне понадобилось использовать Smarty.
Как известно, конфигурация его перменных проводится через htaccess. Так вот в чем беда:
Все переменные в php видятся как REDIRECT_имя_переменной
Такое вроде бы должно происходить при редиректе, но (насколько я понял из документации по apache) переменные с префиксом добавляются, а не заменяют исходные.

В итоге, в perl я прекрасно вижу MY_VAR
А вот php показывает (смотрю через phpinfo())
только REDIRECT_MY_VAR
Кроме него есть REDIRECT_STATUS, а остальные (стандартные, типа DOCUMENT_ROOT) видны нормально!

И что еще более странно - если прописать SetEnv не в htaccess, а в httpd.conf - то все будет нормально!

Большая просьба - помогите решиьт проблему. Уже озверел.
 

tony2001

TeaM PHPClub
>Итак, мне понадобилось использовать Smarty.
>Как известно, конфигурация его перменных проводится через htaccess
ты ничего не путаешь?
 

bookworm

Guest
ну та же
SetEnv TEMPLATER_DIR

я не имею в виду все!
 

bookworm

Guest
бог с ним, как есть так есть.
сама проблема!
не для этого, так для другого.
решение есть?
 

tony2001

TeaM PHPClub
.htaccess
Код:
SetEnv BLAH "blah-blah"
получаем:

_SERVER["BLAH"] blah-blah
_SERVER["REDIRECT_BLAH"] blah-blah
 

bookworm

Guest
да в том-то и дело!!!!
если пишу SetEnv в httpd.conf - то будет как ты написал

а если в htaccess, то только REDIRECT_бла-бла!

и не пойму почему! третий день, блин
 

tony2001

TeaM PHPClub
1) успокойся
2) что у тебя за апач, ОС и др?
3) если тебе это НЕ НАДО, то зачем ты это делаешь?
 

bookworm

Guest
Апачи пробовал 1.3.20 и
Apache/2.0.49 (Win32) mod_ssl/2.0.49 OpenSSL/0.9.7d

все под виндой

php был 4.3.4 теперь 4.3.9

все едино
 

bookworm

Guest
Ну так ведь я пробовал Apache 2!

И потом, я не думаю что тут трабл в этом
Ведь под перлом все ок!
 

bookworm

Guest
PHP как cgi?
А версии софтов какие?
Попробую...

Весь нет перерыл - нигде ничего нет...
 

tony2001

TeaM PHPClub
>PHP как cgi?
нет, я обычно до такого не дохожу.

>А версии софтов какие?
последние.
 

bookworm

Guest
Дело в том, что у меня php как модулт не встает
apache не стартует

хотя прописано вроде нормально:

AddType application/x-httpd-php .php
Action application/x-httpd-php /php/php.exe
LoadModule php4_module d:/php/sapi/php4apache2.dll
PHPIniDir "d:/php"


И все. Ошибка даже просто при строке
LoadModule php4_module d:/php/sapi/php4apache2.dll
 

tony2001

TeaM PHPClub
>Дело в том, что у меня php как модулт не встает
>apache не стартует
а. ну так в этом и дело.

>И все. Ошибка даже просто при строке
>LoadModule php4_module d:/php/sapi/php4apache2.dll
это ты модуль для второго апача к первому пытаешься подключить?
 

bookworm

Guest
не не
я привел пример для второго

оба почему-то не хотят (какждый со своей библиотекой)

а потом
что значит - в том и дело

как cgi не будет работать???
хорошо, предположим тут обязательный редирект

но! почему тогда работает когда SetEnv в httpd.conf??
 

tony2001

TeaM PHPClub
>И все. Ошибка даже просто при строке
тогда говори какая ошибка.

>Action application/x-httpd-php /php/php.exe
это зачем?
ты либо ставишь CGI, либо модуль - одно из двух.
 

bookworm

Guest
О! Получилось подключить как модуль (забывал php4dist перекинуть)

И заработало!

Но почему под cgi не хотело - загадка.

МАЛЕНЬКНИЙ ВОПРОС ПО АПАЧУ:

SetEnv TEMPLATER_DIR /mydir
это понятно

А как сослаться на имеющуюся переменную?

SetEnv TEMPLATER_DIR ${DOCUMENT_ROOT}/mydir
SetEnv TEMPLATER_DIR $DOCUMENT_ROOT/mydir

НЕ ХОТЯТ!

Кстати, судя по всему это какой-то старный Smarty.
Может еще версии 1.
Т.к. мне дали корень сайта и надо его доаделывать
Если найду предыдущего разработчика - тады смогу выяснить
Пока мало что понятно, тем более что со Smarty я не работал
 
Сверху