All Products
Search
Document Center

Tablestore:Apa yang harus saya lakukan jika muncul pesan error "Checksum mismatch" saat menggunakan Tablestore SDK untuk PHP?

Last Updated:Apr 30, 2026

Jika Anda menemui error "Checksum mismatch" saat menggunakan Tablestore SDK untuk PHP di Windows, kemungkinan besar Anda menjalankan versi PHP sebelum PHP 7, yang secara efektif berarsitektur 32-bit di Windows. Lakukan upgrade ke PHP 7 64-bit atau versi yang lebih baru untuk mengatasi masalah ini.

Deskripsi masalah

Error berikut muncul saat menjalankan Tablestore SDK untuk PHP di Windows dengan PHP 5.6:

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

Penyebab

Ini merupakan keterbatasan yang dikenal dalam ekosistem PHP, bukan bug pada SDK. Tablestore menggunakan integer 64-bit secara internal. Pada platform 32-bit—yaitu kombinasi CPU, OS, server web, dan binary PHP—PHP hanya dapat merepresentasikan integer 64-bit sebagai string, yang menyebabkan perhitungan checksum menghasilkan nilai yang salah.

Di Windows, versi PHP sebelum PHP 7 tidak benar-benar berarsitektur 64-bit, meskipun sistem operasi yang mendasarinya berarsitektur 64-bit.

Solusi

Peringatan: Tablestore tidak mendukung PHP 32-bit. Di Windows, artinya versi PHP sebelum PHP 7 tidak didukung.

Lakukan upgrade ke PHP 7 64-bit atau versi yang lebih baru. Kami merekomendasikan PHP 7 untuk performa optimal. Untuk memverifikasi arsitektur PHP yang sedang Anda gunakan, jalankan phpinfo() dan periksa bidang Architecture pada output:

  • Architecture: X86 — PHP Anda berarsitektur 32-bit. Lakukan upgrade ke PHP 7 64-bit atau versi yang lebih baru.

  • Architecture: X64 — PHP Anda sudah mendukung integer 64-bit. Masalahnya berasal dari sumber lain.