0

我有多个子域,例如 domain1.example.com、domain2.example.com。我有这些子域的中央数据库;当我登录(通过ajax)时,我为每个子域创建会话。

现在我想从任何子域注销时,然后从创建会话的所有子域(session_destroy)注销。(我有维护会话的子域列表)。请帮助如何使用 cURL 从多个子域注销。

我在子域的循环中使用以下 cURL 代码。

$url = 'http://' . $a_domain . ".localhost/panels/login?task=logout";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);                
$output = curl_exec($ch);
curl_close($ch);

此外,当我直接在浏览器中运行 $url 时,它可以工作并从该子域注销,但我想通过 cURL 循环工作。??

远程子域 $URL 注销代码

public function logout(){
echo '<br>before destroy <br>'; 
print_r($_SESSION);
session_destroy();
echo'<br>after destroy <br>';
print_r($_SESSION);
}
4

1 回答 1

1

就像是

<?php

$domains=array();
$domains[]="a";
$domains[]="b";
$domains[]="c";
$domains[]="d";

foreach($domains as $d)
{
    $url = "http://".$d.".localhost/panels/login?task=logout";
    logout($url);
}

function logout($url)
{
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);                
    $output = curl_exec($ch);
    curl_close($ch);
}

?>
于 2013-01-22T06:37:10.193 回答