1

我正在把头发拉到这个上面。

我已经使用 DynamoDB 和 AWS PHP SDK 实现了 Symfony 会话处理程序:http: //docs.aws.amazon.com/aws-sdk-php/guide/latest/feature-dynamodb-session-handler.html

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

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

在过去的两天里,我一直在四处挖掘,试图找出问题所在,但我无法弄清楚。

我已经尝试了这个错误线程中的每一个建议,但没有一个有效,所以我假设我可能正在处理一个单独的问题:https ://github.com/symfony/symfony/issues/6417

我也尝试过使用pessimistic locking_strategywhich 似乎没有任何区别。

登台和生产服务器具有与我的本地设置完全相同的配置,减去 xDebug。

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

  • 获取domain.com/login(会话 a)
  • POST domain.com/login_check(会议一)
  • 获取domain.com(会话 b)
  • 获取domain.com/login(会话 b)

上面的模式不断重复。

任何有关如何调试的方向都将不胜感激,我什至不确定在哪里看,尤其是看到我无法使用 xDebug 在本地机器上重现。

4

1 回答 1

1

事实证明,如果有空json_decode字节(序列化的受保护方法具有空字节),PHP jsonc 扩展就会出现问题。自 1.3.3 版以来已修复此问题。

http://pecl.php.net/package-changelog.php?package=jsonc&release=1.3.5

于 2015-02-02T21:27:56.373 回答