Todos os produtos
Search
Central de documentação

Tablestore:O que fazer se a mensagem de erro "Checksum mismatch" aparecer ao usar o Tablestore SDK para PHP?

Última atualização: Jun 23, 2026

Se a mensagem de erro "Checksum mismatch" aparecer ao usar o Tablestore SDK para PHP no Windows, provavelmente você está executando uma versão do PHP anterior ao PHP 7, que efetivamente opera como 32 bits no Windows. Atualize para o PHP 7 de 64 bits ou posterior para resolver o problema.

Descrição do problema

O seguinte erro ocorre ao executar o Tablestore SDK para PHP no Windows com o PHP 5.6:

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

Causa

Trata-se de uma limitação conhecida do ecossistema PHP, não de um bug do SDK. O Tablestore utiliza números inteiros de 64 bits internamente. Em uma plataforma de 32 bits — ou seja, a combinação de CPU, sistema operacional, servidor web e binário do PHP — o PHP só consegue representar números inteiros de 64 bits como strings, o que faz o cálculo de checksum produzir resultados incorretos.

No Windows, as versões do PHP anteriores ao PHP 7 não são verdadeiramente de 64 bits, mesmo que o sistema operacional subjacente seja de 64 bits.

Solução

Aviso: O Tablestore não oferece suporte a PHP de 32 bits. No Windows, isso significa que versões do PHP anteriores ao PHP 7 não são compatíveis.

Atualize para o PHP 7 de 64 bits ou posterior. Recomendamos o PHP 7 para desempenho ideal. Para verificar a arquitetura atual do PHP, execute phpinfo() e confira o campo Architecture na saída:

  • Architecture: X86 — o PHP é de 32 bits. Atualize para o PHP 7 de 64 bits ou posterior.

  • Architecture: X64 — o PHP já oferece suporte a números inteiros de 64 bits. O problema está em outro lugar.