我已經實現了使用DynamoDB的會話處理程序。它工作正常,除了響應從服務器返回並且我調用json_decode
時,嵌套的php序列化會話字符串被破壞。我假設在JSON對象內存儲序列化會話是不兼容的?這是一個逃避問題嗎?PHP會話處理程序存儲會話爲JSON不解碼php序列化正確
問題:
- 有沒有辦法來解決這個問題?
- 是否有可能使用JSON序列化會話,而不是我假設使用的php
serialize()
?這可能會解決這個問題。
原來這是當它來自DB的外觀(注:這是很長,所以我一直切到底離我自己)
_sf2_attributes|a:4:{s:34:"_security.secured_area.target_path";s:36:"http://my.domain";s:10:"some_id";s:13:"abc123";s:8:"userData";O:27:"Some\Symfony\Bundle":49:{s:8:"�*�email";s:27:"
這是調用json_decode
後,它的外觀該字符串的JSON對象位於內部:
_sf2_attributes|a:4:{s:34:"_security.secured_area.target_path";s:36:"http://my.domain";s:10:"some_id";s:13:"abc123";s:8:"userData";O:27:"Some\Symfony\Bundle":49:{s:8:"
它似乎被截斷,其中星號位於原始位置。
如果它是序列化,你應該使用'反序列化()'到它,而不是'json_decode()'解碼。 – Barmar 2014-10-03 04:57:45
請顯示您的代碼。 – sectus 2014-10-03 04:58:21
php會話會自動序列化爲php使用的格式。然後我將它存儲在使用JSON的DynamoDB中,所以我有一個包含php會話的json對象。當我調用json_decode時,它以數組的形式給我提供了一切,但會話字符串被截斷。 – greg 2014-10-03 05:03:46