0

bugzilla(基于 perl)系统具有使用 http 服务器环境变量自动登录的功能。如果您填写正确的 ID 或用户名,您将自动登录。

我的服务器运行 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";
}
4

2 回答 2

0

这只是一个猜测,但是(假设您使用的是 Apache2)您可以使用apache_setenv(). 但是,这只会持续到当前 http 请求的整个生命周期,所以我不确定你是如何让它工作的——从你的浏览器框架中对 bugzilla 页面的请求将被 Apache 认为是完全独立的。您可能可以使用virtual()调用 Bugzilla 的子请求,然后应该能够看到该环境变量。我不确定您是否需要对每个 Bugzilla 页面请求执行此操作,或者只对启动登录的请求执行此操作。

对不起,如果我错过了重点或弄错了

于 2008-12-04T13:48:42.983 回答
0

我不确定您需要做什么才能在 Bugzilla 中创建会话,但我知道在 Joomla! 结束时需要做什么:您需要创建一个响应 onLoginUser 事件的用户插件。有关此操作的示例,请查看 plugins/user/joomla.php 中的 onLoginUser 函数。

(注意,这仅适用于 Joomla!1.5)

于 2008-12-04T14:34:07.150 回答