[카테고리:] WEB PG

PHP, JAVASCRIPT, JQUERY, MYSQL, MARIADB, UBUNTU, NGINX, HTML, CSS, ASP, MSSQL

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분으로 설정 되어 있기 때문에 적절하게 수정해야 한다.