Php 使用自定义DynamoDB会话处理程序登录后,Symfony会话为空

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上的暂存或生产服务器时,在迁移会话时出现了一些问题。我转到我的登录页面,我可以看到会话已按预期创建,然后当我登录时,会创建一个新会话,但数据未迁移到其中,导致它将我转储回登录页面 我花了两天的时间四处寻找,

我在为这件事发愁

我已经使用DynamoDB和AWS PHP SDK实现了Symfony会话处理程序:

会话处理程序在我的本地机器上似乎工作得很好,我可以看到在Dynamo中正确创建了会话,然后当我登录时,会创建一个新会话,并按预期将数据迁移到该会话。这里一切都好

问题是,当我将其推送到AWS上的暂存或生产服务器时,在迁移会话时出现了一些问题。我转到我的登录页面,我可以看到会话已按预期创建,然后当我登录时,会创建一个新会话,但数据未迁移到其中,导致它将我转储回登录页面

我花了两天的时间四处寻找,试图找出哪里出了问题,但我想不出来

我已经尝试了这个bug线程中的所有建议,但没有一个有效,所以我假设我可能正在处理一个单独的问题:

我也尝试过使用悲观的
锁定策略
,这似乎没有任何区别

暂存服务器和生产服务器的配置与我的本地设置完全相同,不包括xDebug

我已将登台服务器置于开发模式,并启用了调试功能,以尝试在探查器中查找问题,但在那里我看不到任何感兴趣的内容,请求如下:

  • 获取
    domain.com/login
    (会话a)
  • POST
    domain.com/login\u check
    (会话a)
  • 获取
    domain.com
    (会话b)
  • 获取
    domain.com/login
    (会话b)
上述模式不断重复


任何关于如何调试的指导都是值得赞赏的,我甚至不知道该去哪里看,尤其是因为我无法在我的本地机器上使用xDebug进行复制。

这是PHP jsonc扩展的一个问题,如果有空字节(序列化的受保护方法有空字节),则
json\u decode
会中断。自版本1.3.3起已修复


您是否发现了解决方案或在这方面取得了任何进展?@DerickF-是的,如果您遇到了同样的问题,请将您的jsonc扩展更新为1.3.3或更高版本,它应该得到解决。见下面的答案。