Jika pesan kesalahan "Checksum mismatch" muncul saat menggunakan Tablestore SDK untuk PHP di Windows, pastikan Anda menggunakan PHP 7 64-bit atau versi lebih baru. Kami merekomendasikan penggunaan PHP 7 untuk performa terbaik.
Deskripsi masalah
Pesan kesalahan berikut muncul saat menggunakan Tablestore SDK untuk PHP dengan PHP 5.6 di Windows:
Fatal error: Uncaught exception 'AliyunOTSOTSClientException' with message 'Checksum mismatch. expected:120,actual:-48'Penyebab potensial
Tablestore menggunakan bilangan bulat 64-bit. Dalam PHP 32-bit, hanya tipe String yang dapat digunakan untuk merepresentasikan nilai Integer 64-bit. Oleh karena itu, Tablestore tidak mendukung PHP 32-bit. Di Windows, versi PHP sebelum PHP 7 sebenarnya bukan 64-bit.
Solusi
Saat menggunakan Tablestore SDK untuk PHP di Windows, pastikan Anda menggunakan PHP 7 64-bit atau versi lebih baru. Kami merekomendasikan penggunaan PHP 7 untuk performa terbaik.
Gunakan phpinfo() untuk memeriksa nilai Architecture dalam informasi konfigurasi PHP. Dengan cara ini, Anda dapat menentukan apakah versi PHP Anda mendukung bilangan bulat 64-bit.
Jika nilai Architecture adalah X86, versi PHP saat ini hanya mendukung bilangan bulat 32-bit. Tingkatkan versi PHP Anda ke PHP 7 64-bit atau lebih baru.
Jika nilai Architecture adalah X64, versi PHP saat ini mendukung bilangan bulat 64-bit dan memenuhi kebutuhan Anda.