PHP Truyền session giữa domain và subdomain

Vấn đề này gặp khá nhiều, nên 2K post lên đây, coi như lưu trữ.
Nếu như khi install Apache đã config phần session thì không có gì đáng nói, vì việc truyền session qua lại giữa domain với subdomain, hay subdomain với sub domain là hẵn nhiên được.
Nhưng khi config đã không để ý nên đã xảy ra lỗi là không truyền được.
Cách giải quyết là config lại session trước khi start session.
Param gồm: folder chứa session và domain.
Sử dụng function này thay cho function session_start().

<?php
function k_session_start ($time = 3600, $ses = 'MYSES', $site = ".dangkhoi.info")
	{
		session_set_cookie_params($time, "/", $site);
		session_name($ses);
		session_start();
 
		// Reset the expiration time upon page load
		if (isset($_COOKIE[$ses]))
			setcookie($ses, $_COOKIE[$ses], time() + $time, "/", $site);
	}
?>

Function này giải quyết cả việc restart time của session, để không bị hết time khi để site trong một thời gian dài.

Leave a Reply