Php 远程登录并保持会话处于活动状态

Php 远程登录并保持会话处于活动状态,php,session,http-post,remote-server,remote-login,Php,Session,Http Post,Remote Server,Remote Login,我制作了一个简单的PHP登录系统来远程登录,但是会话不会存储任何数据。请看下面的伪代码。请注意,mainserver和remoteserver实际上是真实的web地址。我只是没有足够的声誉来发布2个链接: 文件:mainserver/login.php $username = $_POST[ "username" ]; $userpassword = $_POST[ "password" ]; $result = check_logIn( $username, $password ); if

我制作了一个简单的PHP登录系统来远程登录,但是会话不会存储任何数据。请看下面的伪代码。请注意,mainserver和remoteserver实际上是真实的web地址。我只是没有足够的声誉来发布2个链接:

文件:mainserver/login.php

$username = $_POST[ "username" ];
$userpassword = $_POST[ "password" ];

$result = check_logIn( $username, $password );
if ( $result ) {

    $_SESSION[ "is_loggedIn" ] = true;
    die ( true );

} else die( false );
文件:remoteserver/remoteLogin.php

$http_query = http_build_query( array( 

        "username" => "Username goes here",
        "password" => "Password goes here"

) );


$ch = curl_init();
curl_setopt( $ch, CURLOPT_URL,"mainserver/login.php");
curl_setopt( $ch, CURLOPT_COOKIEJAR, md5( rand() ) .".txt" );
curl_setopt( $ch, CURLOPT_POST, 1 );
curl_setopt( $ch, CURLOPT_POSTFIELDS, $http_query );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
$output = curl_exec ( $ch );
curl_close( $ch );
即使主服务器返回true(登录成功后),我也会访问,但是
$\u会话[“is\u loggedIn”]
仍然不存在;从技术上讲,我仍然被视为一个注销的人


有什么我应该解决的遗漏吗?

您的问题是:当您通过chrome登录时,您没有登录firefox。运行脚本的服务器也是如此,“mainserver”的会话链接到“remoteserver”的CURL请求,而不是您或您的浏览器。 即使您共享IP或物理计算机

要实现SSO,您可以查看

尽管它被关闭了,但它有一些有用的答案


或者尝试发布一个更具体的问题,以满足您的(新)需求。

您是否使用了session_start()?是的。是的。这只是伪代码。在没有从远程站点接收数据的情况下,所有工作都完成并测试成功。我现在明白你的意思了,问题是:当你通过chrome登录时,你没有登录firefox。运行脚本的服务器也是如此,主服务器的会话链接到remoteserver,而不是您。即使你共享一个IP甚至一台物理机器。@Aneessan:那么有什么办法可以绕过它吗?单点登录是我的目标。如果可能的话,我希望能够登录到一个地方并自动登录到另一个地方。这是一个全新的问题,就其本身而言,现在我将发布我的上述评论作为对这个问题的回答。