为了开始用PHP编程,从经典的ASP开始,我决定一件一件地转换一个非常大的,旧的,在线的ASP项目,直到我最终完成了整个项目并学习了PHP。
我遇到过一个大量使用会话变量和cookie的部分。附加到此部分的页面尚未转换,我暂时无法转换它们。在我继续转换这个部分并弄乱我所有的用户会话/访问权限之前,我想知道在ASP页面上设置的会话变量或cookie在转换后的PHP页面中是否可读,反之亦然?
我认为请求cookie是可以的,但我不确定使用会话是否会有任何影响。敬请指教。
发布于 2012-07-25 09:41:40
Alex关于cookie的说法是正确的;然而,会话更加棘手。会话数据存储在服务器端,不同的语言可能以不同的方式存储它们。
但是,it still possible要做的是;您只需要让这两个应用程序使用相同的会话数据存储。它可能和配置PHP和ASP在SQL数据库中存储会话一样简单。但是它们可能不使用相同的格式在数据库中存储会话数据,因此您可能最终需要为其中之一编写一个custom session storage handlers。
然后,您需要做的就是确保两个应用程序从相同的cookie名称读取会话ID,因为这在语言之间也是不同的。
发布于 2012-07-25 09:58:25
曲奇,是的,它们将可用。
会话,我不知道ASP如何处理它的会话,但我不认为PHP可以直接处理它们。
你可以在你的脚本中做的就是为PHP创建会话文件
研究how PHP handles sessions,并在您的会话文件夹中创建会话文件。但是,对所有这些值进行编码/序列化可能会很棘手。PHP会话不会被serialize()函数序列化。他们有their own handler,这可能取决于你的配置。
PS:会话仅持续到客户端关闭浏览器。我说不用担心它们,在完全克隆完脚本后激活PHP页面。如果您想运行用两种语言编写的脚本,并让它们在两种语言之间传递数据,请使用cookies而不是会话,因为cookies保存在客户端计算机上,并且在两个平台上都可读。
发布于 2012-07-25 09:31:13
是。
Cookies是一个服务器/头文件(用户浏览器与您的服务器通信),因此PHP文件和ASP文件将能够更改/编辑所有域cookies (当然,假设它们在同一个域中)。
https://stackoverflow.com/questions/11641100
复制相似问题