Как установить переменную среды HTTP из PHP для Bugzilla?

StackOverflow https://stackoverflow.com/questions/340271

Вопрос

Система 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";
}
Это было полезно?

Решение

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

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

Другие советы

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top