Tous les produits
Search
Centre de documentation

Tablestore:Que faire si le message d'erreur « Checksum mismatch » s'affiche lors de l'utilisation du SDK Tablestore pour PHP ?

Dernière mise à jour :Aug 18, 2026

Si vous rencontrez une erreur « Checksum mismatch » en utilisant le SDK Tablestore pour PHP sous Windows, vous utilisez probablement une version de PHP antérieure à la version 7. Sur cette plateforme, ces versions fonctionnent en mode 32 bits. Migrez vers une version 64 bits de PHP 7 ou ultérieure pour résoudre le problème.

Description du problème

L'exécution du SDK Tablestore pour PHP sous Windows avec PHP 5.6 génère l'erreur suivante :

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

Cause

Il s'agit d'une limitation connue de l'écosystème PHP, et non d'un bogue du SDK. Tablestore utilise des entiers 64 bits en interne. Sur une plateforme 32 bits (combinaison du processeur, du système d'exploitation, du serveur web et du binaire PHP), PHP ne peut représenter les entiers 64 bits que sous forme de chaînes de caractères. Cette contrainte fausse le calcul de la somme de contrôle.

Sous Windows, les versions de PHP antérieures à la version 7 ne sont pas véritablement 64 bits, même si le système d'exploitation sous-jacent l'est.

Solution

Avertissement : Tablestore ne prend pas en charge PHP 32 bits. Sous Windows, cela signifie que les versions de PHP antérieures à la version 7 ne sont pas prises en charge.

Mettez à niveau votre installation vers PHP 7 (64 bits) ou une version ultérieure. Nous recommandons PHP 7 pour des performances optimales. Pour vérifier l'architecture actuelle de votre installation PHP, exécutez phpinfo() et consultez le champ Architecture dans la sortie :

  • Architecture : X86 — votre version de PHP est en 32 bits. Mettez à niveau vers PHP 7 (64 bits) ou une version ultérieure.

  • Architecture : X64 — votre version de PHP prend déjà en charge les entiers 64 bits. Le problème provient d'une autre cause.