Bugzilla 用に PHP から HTTP 環境変数を設定するにはどうすればよいですか?

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

質問

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";
}
役に立ちましたか?

解決

これは単なる推測ですが、(Apache2 を使用していると仮定して) 次を使用して環境変数を設定できます。 apache_setenv(). 。ただし、これは現在の http リクエストの有効期間中のみ持続するため、どのように機能させるかはわかりません。ブラウザ フレームからの bugzilla ページへのリクエストは、Apache によって完全に分離されたものとみなされます。使えるかも知れません virtual() Bugzilla へのサブリクエストを呼び出して、その環境変数を確認できるようにします。Bugzilla ページのリクエストごとにこれを行う必要があるのか​​、それともログインを開始するリクエストに対してのみ行う必要があるのか​​はわかりません。

要点を見逃していたり​​、非常に間違っていた場合は申し訳ありません

他のヒント

Bugzilla でセッションを作成するために何をする必要があるかはわかりませんが、Joomla! 側で何が起こる必要があるかはわかっています。onLoginUser イベントに応答するユーザー プラグインを作成するとよいでしょう。実際の例として、plugins/user/joomla.php の onLoginUser 関数を見てください。

(これは Joomla! のみに適用されることに注意してください。1.5)

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top