ASP Session을 PHP에서 사용하기 (ASP PHP 세션 공유)
ASP에서 생성된 Session을 PHP에서 바로 사용할 수 없습니다.
PHP에서 ASP Session을 사용하려면 아래와 같은 방법으로 해결 할 수 있습니다.
실무에서 적용했던 방법이고 문제없이 잘 작동하고 있습니다.
먼저, JSON.asp 파일 추가로 필요하며, 아래의 주소로 접속하여 다운로드 받을 수 있습니다.
https://code.google.com/archive/p/aspjson
1. ASP 에서 생성된 Session을 JSON 배열로 생성하기
– 적당한 이름으로 파일을 만듭니다. ( aspSession.asp )
<!-- #include file="JSON.asp" -->
<%
Set JSONObject = jsObject()
For Each Key In Session.Contents
If Not IsObject(Session.Contents(Key)) Then 'skip the objects cannot be serialized
JSONObject(Key) = Session.Contents(Key)
End If
Next
JSONObject.Flush
%>
2. PHP 에서 ASP Session을 가져오는 함수
주의 : file_get_contents의 URL은 “http” 또는 “https”가 포함이 되어야 합니다.
/**
* ASP Session 값을 PHP에서 사용하기 위한 함수.
*/
function get_AspSessionState() {
$options = array('http' =>
array('method'=>"GET", 'header' => "Cookie: " . $_SERVER["HTTP_COOKIE"])
);
$cx = stream_context_create($options);
$response = file_get_contents("http://www.domain.com/aspSession.asp", false, $cx);
return json_decode($response, true);
}
3. PHP에서 ASP Session을 사용할 페이지에는 아래와 같이 적용합니다.
$office = get_AspSessionState();
var_dump($office);
윈도우 서버에서 ASP 세션 유지시간은 기본 20분으로 설정 되어 있기 때문에 적절하게 수정해야 한다.
