使用PHP SDK时出现Checksum mismatch异常

当在Windows系统中使用PHP SDK出现Checksum mismatch异常时,请确保使用的PHP版本是PHP 7及以上的64位版本,强烈建议使用PHP 7以获得最佳性能。

问题现象

Windows系统中通过PHP 5.6版本使用表格存储PHP SDK时出现如下异常:

Fatal error: Uncaught exception 'AliyunOTSOTSClientException' with message 'Checksum mismatch. expected:120,actual:-48'

可能原因

表格存储的整型是64位的,而32PHP只能用string表示64位的整型,所以暂不支持32PHP;且Windows系统中PHP 7之前版本的整型不是真正的64位。

解决方案

Windows系统中使用表格存储PHP SDK时,PHP版本必须使用PHP 7及以上的64位版本,强烈建议使用PHP 7以获得最佳性能。

通过phpinfo()查看PHP配置信息中的Architecture类型,您可以判断PHP版本是否满足使用要求。

  • ArchitectureX86时,表示PHP版本是32位,需要升级PHP版本到PHP 7及以上的64位版本。

  • ArchitectureX64时,表示PHP版本是64位,满足使用要求。