当从iOS应用程序调用脚本时,不维护PHP会话数组


PHP Session array not maintained when calling script from iOS app

我的服务器上有一个php脚本。我开始用Chrome浏览器的Postman进行测试。它完美地工作着。但是,如果我通过AFNetworking调用相同的URL, PHP中的SESSION数组将不被维护。

另一个有趣的问题是,如果我使用MAMP从localhost运行脚本,那么SESSION数组也会在iOS应用程序中维护。

有什么问题吗?

更新: 我正在使用HostGator,我发现session_id()在从iOS应用程序调用时不断变化,而不是从Postman调用。在本地主机上也不会改变。

更新2:

session_id()只保持变化,如果应用程序被终止,然后我再次呼叫在viewDidLoad没有签出之前,应用程序被终止。

见下面的解决方案!

这是必然的。通常由浏览器来处理会话数据。调用edge的iOS应用需要从http header中读取cookie数据以获取会话并手动处理它。因此,从响应中读取报头,存储会话cookie并在发出后续请求时添加它们。否则它们将被剥离。

我不知道如何在你的iOS应用程序,因为我是一个web开发人员。不好意思

事实证明,这个问题与我的服务器配置无关。

我正在从应用程序向服务器发出多个请求,并且一些请求返回的速度比登录请求快,尽管这是首先发出的。这导致登录请求具有与其他请求不同的session_id()。

这只显示在真实服务器上而不是在本地主机上的原因是因为本地主机足够快,可以首先处理登录请求。

当邮差工作是因为邮差,我只能一次提出一个请求。

抱歉,如果这让任何人感到头疼…