1

주제: OpenID로 덧글 다는 중 다음과 같은 요류

http://spowner.com/login/openid?action= … 8%EC%9D%B8

OpenID 로그인 하라고 해서 입력후 URL은 위와 같이 되고요

HTTP 500내부 서버 오류가 발생합니다.

텍스트 큐브 1.7.6 버전을 처음 설치를 한것이고요...
서버는 제 게인 피시입니다.

왜 안될까요?

2

답글: OpenID로 덧글 다는 중 다음과 같은 요류

php 설정값을 의심해봐야 할 것 같습니다...
해당 에러부분에 대한 서버 로그를 올려주시면 큰 도움이 됩니다. wink

잠수...

3

답글: OpenID로 덧글 다는 중 다음과 같은 요류

이유 발견했습니다.

PHP환경 설정 중 variables_order 값에 "E" 가 안들어가면 발생합니다.
"E"는 Environment를 의미하며 여기세 "E"가 빠지면 $_ENV 로 Environment를 접근하지 못합니다.

/library/components/Textcube.Control.Openid.php 파일을 보시면

$_ENV 를 사용합니다. $_ENV 값으로 운영체제가 Windows인지 다른놈인지 확인하는데
$_ENV가 없으면 Windows가 아닌것으로 판단하여 Windows에서는 먹지 않는 ':' 구분자가 붙게 됩니다.

윈도우 환경에 저같이 OpenID 기능이 안되시는 분들은 PHP 환경설정 중 variables_order 를 확인하셔서
"E"가 빠져있나 살펴보세요

4

답글: OpenID로 덧글 다는 중 다음과 같은 요류

알려주셔서 감사합니다^^

"Everything looks different on the other side."

-Ian Malcomm, from Michael Crichton's 'The Jurassic Park'

5

답글: OpenID로 덧글 다는 중 다음과 같은 요류

음, 해당 설정에 대해 레퍼런스를 찾아보니 런타임 중에는 변경할 수 없는 값이군요.

근데... 제가 Vista + IIS7 환경에서 텍스트큐브(trunk 버전)를 돌리고 있는데, php.ini의 variables_order 값에 "E"가 없음에도 불구하고 OpenID 로그인에 아무 문제가 없습니다.

variables_order = "GPCS"

물론 해당 $_ENV 변수를 사용하는 부분은 trunk과 1.7.6 버전이 동일합니다.;;;

한 가지 방책으로, htaccess 파일에 추가하는 방법이 있겠는데, 이게 apache라면 가능하지만 IIS에서는 어떻게 해야 되는지 모르겠군요-_-;

daybreaker (2008-12-17 00:13:11)에 의해 마지막으로 수정

문제의 답은 우리 안에 있다.
내면에 귀를 기울여 보자.

6

답글: OpenID로 덧글 다는 중 다음과 같은 요류

이거.. 이거... 혹시 문제를 제기하여 주신분께서 코드에 넣을 수 있는 정도의 패치 코드를 작성해 주실 수 있을까요?

7

답글: OpenID로 덧글 다는 중 다음과 같은 요류

안준환님 상관이 있어 보입니다. variables_order에 "E"가 포함되지 않으면 $_ENV엔 아무 값도 들어가지 않습니다. PHP설정파일을 보면 다음과 같은 내용을 볼 수 있습니다.

; - variables_order = "GPCS"       [Performance]
;     The environment variables are not hashed into the $_ENV.  To access
;     environment variables, you can use getenv() instead.

variables_order를 "GPCS"로 하면 환경 값이 $_ENV에 들어가지 않는다고 합니다.

variables_order에 "E"를 빼는 이유는 성능상의 문제인것으로 보이는데
PHP설정을 변경할 수 없는 환경이라면
문제가 되는 코드를 $_ENV대신 getenv()로 대치하는것도 방법중 하나일 것 같습니다.