當在Windows系統中使用PHP SDK出現Checksum mismatch異常時,請確保使用的PHP版本是PHP 7及以上的64位版本,強烈建議使用PHP 7以獲得最佳效能。
問題現象
在Windows系統中通過PHP 5.6版本使用Table StorePHP SDK時出現如下異常:
Fatal error: Uncaught exception 'AliyunOTSOTSClientException' with message 'Checksum mismatch. expected:120,actual:-48'
可能原因
Table Store的整型是64位的,而32位PHP只能用string表示64位的整型,所以暫不支援32位PHP;且Windows系統中PHP 7之前版本的整型不是真正的64位。
解決方案
在Windows系統中使用Table StorePHP SDK時,PHP版本必須使用PHP 7及以上的64位版本,強烈建議使用PHP 7以獲得最佳效能。
通過phpinfo()
查看PHP配置資訊中的Architecture類型,您可以判斷PHP版本是否滿足使用要求。
當Architecture為X86時,表示PHP版本是32位,需要升級PHP版本到PHP 7及以上的64位版本。
當Architecture為X64時,表示PHP版本是64位,滿足使用要求。