Php 使用自定义DynamoDB会话处理程序登录后,Symfony会话为空
我在为这件事发愁 我已经使用DynamoDB和AWS PHP SDK实现了Symfony会话处理程序: 会话处理程序在我的本地机器上似乎工作得很好,我可以看到在Dynamo中正确创建了会话,然后当我登录时,会创建一个新会话,并按预期将数据迁移到该会话。这里一切都好 问题是,当我将其推送到AWS上的暂存或生产服务器时,在迁移会话时出现了一些问题。我转到我的登录页面,我可以看到会话已按预期创建,然后当我登录时,会创建一个新会话,但数据未迁移到其中,导致它将我转储回登录页面 我花了两天的时间四处寻找,试图找出哪里出了问题,但我想不出来 我已经尝试了这个bug线程中的所有建议,但没有一个有效,所以我假设我可能正在处理一个单独的问题: 我也尝试过使用悲观的Php 使用自定义DynamoDB会话处理程序登录后,Symfony会话为空,php,symfony,session,amazon-dynamodb,aws-php-sdk,Php,Symfony,Session,Amazon Dynamodb,Aws Php Sdk,我在为这件事发愁 我已经使用DynamoDB和AWS PHP SDK实现了Symfony会话处理程序: 会话处理程序在我的本地机器上似乎工作得很好,我可以看到在Dynamo中正确创建了会话,然后当我登录时,会创建一个新会话,并按预期将数据迁移到该会话。这里一切都好 问题是,当我将其推送到AWS上的暂存或生产服务器时,在迁移会话时出现了一些问题。我转到我的登录页面,我可以看到会话已按预期创建,然后当我登录时,会创建一个新会话,但数据未迁移到其中,导致它将我转储回登录页面 我花了两天的时间四处寻找,
锁定策略
,这似乎没有任何区别
暂存服务器和生产服务器的配置与我的本地设置完全相同,不包括xDebug
我已将登台服务器置于开发模式,并启用了调试功能,以尝试在探查器中查找问题,但在那里我看不到任何感兴趣的内容,请求如下:
- 获取
(会话a)domain.com/login
- POST
(会话a)domain.com/login\u check
- 获取
(会话b)domain.com
- 获取
(会话b)domain.com/login
任何关于如何调试的指导都是值得赞赏的,我甚至不知道该去哪里看,尤其是因为我无法在我的本地机器上使用xDebug进行复制。这是PHP jsonc扩展的一个问题,如果有空字节(序列化的受保护方法有空字节),则
json\u decode
会中断。自版本1.3.3起已修复
您是否发现了解决方案或在这方面取得了任何进展?@DerickF-是的,如果您遇到了同样的问题,请将您的jsonc扩展更新为1.3.3或更高版本,它应该得到解决。见下面的答案。