全部产品
Search
文档中心

表格存储:使用PHP SDK时出现Checksum mismatch异常

更新时间:Apr 29, 2026

在Windows系统中使用Tablestore PHP SDK时出现Checksum mismatch异常,通常是因为PHP版本低于7.0,在Windows上等效于32位运行环境。升级到PHP 7及以上的64位版本即可解决。

问题现象

在Windows系统中使用PHP 5.6运行Tablestore PHP SDK时,抛出以下异常:

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

可能原因

这是PHP生态的已知限制,并非SDK缺陷。Tablestore内部使用64位整型。在32位运行环境下——即CPU、操作系统、Web服务器和PHP二进制文件均为32位的组合——PHP只能以string类型表示64位整型,导致校验和计算结果不正确。

在Windows系统中,PHP 7之前的版本并非真正的64位,即使底层操作系统是64位也不例外。

解决方案

警告

Tablestore不支持32位PHP。在Windows系统中,这意味着PHP 7之前的版本均不受支持。

升级到PHP 7及以上的64位版本。运行phpinfo(),在输出中查看Architecture字段,即可确认当前PHP的架构类型:

  • Architecture为X86:当前PHP为32位版本,需升级到PHP 7及以上的64位版本。

  • Architecture为X64:当前PHP已支持64位整型,问题不在于架构,需排查其他原因。