2012-04-26 5 views
6

Duplicar posibles:
how to have 64 bit integer on PHP?algoritmo de clave del copo de nieve en PHP utilizando PHPCassa

¿Es posible utilizar un número entero de 64 bits de largo como una clave de Cassandra usando PHPCassa?

Por ejemplo,

$pool = new ConnectionPool('main', array("127.0.0.1")); 
$table = new ColumnFamily($pool, 'messages'); // ColumnFamily 
$table->insert("5601379860409749867", array("sampleKey" => "sampleValue)); 

Cada vez que hago el inserto, consigo 0 para la clave. En esta tabla, key_validation_class es LongType.

+0

Si su PHP es una versión de 32 bits, creo que simplemente no puede. Cambie al sistema de 64 bits o espere una forma de arreglar PHP (puede ser más largo ^^) – shkschneider

+1

La pregunta entera de 64 bits es similar a [Cómo tener un entero de 64 bits en PHP] (http: // stackoverflow .com/questions/864058/how-to-have-64-bit-integer-on-php) y [Cómo generar un valor aleatorio de 64 bits como cadena decimal] (http://stackoverflow.com/questions/5301034/ how-to-generate-random-64-bit-value-as-decimal-string). – Stennie

Respuesta

0

Esto depende totalmente de las capacidades del sistema operativo de su servidor, y no es una limitación de PHPCassa.

Los enteros nativos de 64 bits requieren hardware de 64 bits Y la versión de 64 bits de PHP.

En el hardware de 32 bits:

$ php -r 'echo PHP_INT_MAX;' 
2147483647 

El hardware de 64 bits:

$ php -r 'echo PHP_INT_MAX;' 
9223372036854775807 
Cuestiones relacionadas