2012-07-11 23 views
1

可能重复:
Can't pass mysqli connection in session in php

我试图保持ssh连接活在我的PHP网页的整个浏览过程应用。基本上我有一个登录表单,它的参数(login和passowrd)被传递给ssh2_auth_password()函数。我只是尝试将与ssh2_connect()相关联的资源存储到$ _SESSION中,以便它可以在用户重定向的其他网页中使用(如果连接成功)。 它发生的是,ssh连接似乎在登录页面离开后(即重定向发生后)死亡。 我的问题是:有没有办法将ssh连接的处理程序存储到会话变量中?如果是这样,你能帮我吗? 太感谢你了, 亚历

+1

会话是一个cookie服务器端(如文件),就像我说如何在cookie中的用户浏览器中存储ssh连接资源。 – 2012-07-11 12:22:12

+0

@ LawrenceCherone:会话**数据**存储在服务器上。唯一传递给用户的是**标识符**,以便服务器知道哪个会话属于该用户。在服务器上存储连接资源是合理的,但问题是,不同的PHP/web服务器进程可能会处理每个单独的请求。你不能在这样的进程之间传递一个开放的资源。 – Leigh 2012-07-11 12:25:27

回答

3

你需要阅读Session documentation

我会引用相关的部分给你。

警告

因为会话数据序列化,资源变量不能存储在会话。

+0

谢谢你。那么,如果我把它放在饼干里面呢?它可以工作吗? – 2012-07-11 12:39:24

+0

不可以。您不能在进程之间传输开放资源。 – Leigh 2012-07-11 13:14:59