문제

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 이벤트에 응답하는 사용자 플러그인을 만들고 싶을 것입니다. 이 작업의 예를 들어, 플러그인/사용자/joomla.php의 Onloginuser 기능을 살펴보십시오.

(주, 이것은 Joomla에만 해당됩니다! 1.5)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top