Как установить переменную среды HTTP из PHP для Bugzilla? - PullRequest
0 голосов
/ 04 декабря 2008

Система bugzilla (на основе Perl) имеет функцию автоматического входа в систему с помощью переменной среды http-сервера. Если вы введете правильный идентификатор или имя пользователя, вы автоматически войдете в систему.

Мой сервер работает под управлением Joomla (на основе PHP) и содержит всю информацию о том, кто вошел в систему. Он запускает bugzilla в подкадре.

Итак, как мне установить это значение среды из скрипта PHP?

Другими словами, как следующий скрипт возвращает мою переменную собственного набора в другом месте сеанса из PHP:

#!/usr/bin/perl -wT
print "Content-type: text/html\n\n";
while (($key, $val) = each %ENV) {
        print "$key = $val<BR>\n";
}

Ответы [ 2 ]

0 голосов
/ 04 декабря 2008

Я не уверен, что вам нужно сделать, чтобы создать сеанс в Bugzilla, но я знаю, что должно произойти в конце Joomla!: Вы захотите создать плагин пользователя, который будет отвечать на событие onLoginUser , Для примера этого в действии взгляните на функцию onLoginUser в plugins / user / joomla.php.

(Обратите внимание, это только для Joomla! 1.5)

0 голосов
/ 04 декабря 2008

Это только предположение, но (при условии, что вы используете Apache2) вы можете установить переменные окружения, используя apache_setenv(). Однако это будет продолжаться только в течение срока действия текущего http-запроса, поэтому я не уверен, как вы заставите его работать - запрос Apache на страницу bugzilla из фрейма браузера будет считаться совершенно отдельным. Вы можете использовать virtual() для вызова подзапроса к Bugzilla, который затем сможет увидеть эту переменную среды. Я не уверен, нужно ли вам это делать для каждого запроса страницы Bugzilla или только для того, который инициирует вход в систему.

Извините, если я упустил суть или очень неправильно понял

...