跨服务器维护会话
本文关键字:会话 维护会 维护 服务器 | 更新日期: 2023-09-27 18:07:58
我在不同的服务器上有两个应用程序。一个应用程序在LAMP环境下,另一个应用程序在ASP环境下。Net 4.0与IIS7。主要应用程序是在PHP中,而ASP。. Net应用程序只是PHP应用程序的一个模块。
两个应用程序将共享MySQL中的同一个数据库。
我需要跨服务器共享会话。以前有人这样做过吗?我对此有一些想法-
-
在MySQL数据库中创建session表,让PHP和ASPNet读/写会话到该表。=>为此,需要更改PHP代码。客户可能不同意这样做。
-
由于PHP将会话存储在文件中,所以在PHP服务器上编写web服务,它将读取/写入会话详细信息到会话文件中。ASP。Net应用程序可以使用此服务来读/写会话。服务将接受"PHPSessionId"作为输入参数
-
直接访问ASP。Net应用程序读取/写入PHP服务器上的PHP会话文件。
期待您的建议,上面提到的任何一点是否有意义,或者根据您的经验有任何其他最合适的建议。
我建议您查看session-set-save-handler()。
只需要做一点工作,但不需要重写使用会话的php代码,就可以将所有会话数据推送到数据库中。然后,从c#端编写一个接口就很简单了。最困难的部分将是解析序列化的数据,但可以肯定的是,它类似于解析序列化()的值
请注意,这可以通过更改单个中央php配置文件来完成,甚至可以使用php_value auto_prepend_file
,例如,php_value auto_prepend_file dbsessions.php
与dbsessions.php文件中的会话保存处理程序代码。