2016-11-13 67 views
2

我的服務器上有一個php腳本。我開始使用Postman for Chrome進行測試。它工作完美無瑕。但是,如果我通過AFNetworking調用相同的URL,則PHP中的SESSION數組不會被維護。從iOS應用程序調用腳本時未保持PHP會話陣列

另一個有趣的問題是,如果我使用MAMP從本地主機運行腳本,則SESSION陣列也會保留在iOS應用程序中。

可能是什麼問題?

UPDATE: 我使用HostGator的,我發現,SESSION_ID()保持從郵差從iOS應用調用,但無法更換。它也不會在本地主機上更改。

更新2:

SESSION_ID()只保留更改,如果應用程序被終止,然後我又在viewDidLoad中呼號不註銷終止應用程序之前。

查看下面的解決方案!

回答

1

是的,這是必然發生的。通常瀏覽器會處理會話數據。調用邊緣的iOS應用程序需要從http標頭中讀取cookie數據以獲取會話並手動處理。所以從響應中讀取標題,存儲會話cookie並在發出後續請求時添加它們。否則他們會被剝奪。

我不知道如何在iOS應用中做到這一點,因爲我是一個Web開發人員。對於那個很抱歉。

+0

感謝您的信息無論如何!很高興知道這一點。 –

0

Soo ..事實證明,這個問題與我的服務器配置無關。

我正在從應用程序向服務器發出多個請求,並且一些請求回來的速度比請求登錄速度快,即使這是首先發出的請求。這導致登錄請求與其他請求有不同的session_id()。

這隻顯示在真實服務器上而不顯示在本地主機上的原因是因爲localhost足夠快,可以首先處理登錄請求。

雖然郵差工作是因爲郵差,我只能一次提出一個請求。

對不起,如果這會導致任何人頭疼..