在 PHP 上使用 cassandra-pdo 选择数据时,我在 /var/log/apache2/error.log 中收到以下错误:
[Mon Jan 14 23:37:47 2013] [error] [client 10.0.0.5] PHP Fatal error: Uncaught exception 'PDOException' with message 'CQLSTATE[08006] [8] No more data to read.' in /var/www/test_cassandra_pdo.php:13\nStack trace:\n#0 /var/www/test_cassandra_pdo.php(13): PDOStatement->execute()\n#1 {main}\n thrown in /var/www/test_cassandra_pdo.php on line 13
我正在使用:
- 最新的 cassandra-pdo ( http://code.google.com/a/apache-extras.org/p/cassandra-pdo/ )
- 阿帕奇/2.2.22
- 带有 Suhosin-Patch (cli) 的 PHP 5.3.10-1ubuntu3.4(构建时间:2012 年 9 月 12 日 19:00:43)
- 卡桑德拉 1.2
- Ubuntu 12.04 LTS
下面是我的PHP代码:
// Connect to two hosts
$dsn = "cassandra:host=cassandra001,port=9160;host=cassandra002,port=9160;cqlversion=3.0.0";
$db = new PDO($dsn);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$db->exec("USE test");
$stmt = $db->prepare("SELECT page, local, key, vl FROM lalala;");
//$stmt->bindValue(':key', 'a');
$stmt->execute();
$result = $stmt->fetchAll();
var_dump($result);
下面是数据结构(使用 cqlsh 创建和列出):
Connected to test at cassandra001:9160.
[cqlsh 2.3.0 | Cassandra 1.2.0 | CQL spec 3.0.0 | Thrift protocol 19.35.0]
Use HELP for help.
cqlsh> use test;
cqlsh:test> describe table lalala;
CREATE TABLE lalala (
page text,
local text,
key text,
value text,
vl text,
PRIMARY KEY (page, local, key)
) WITH
bloom_filter_fp_chance=0.010000 AND
caching='KEYS_ONLY' AND
comment='' AND
dclocal_read_repair_chance=0.000000 AND
gc_grace_seconds=864000 AND
read_repair_chance=0.100000 AND
replicate_on_write='true' AND
compaction={'class': 'SizeTieredCompactionStrategy'} AND
compression={'sstable_compression': 'SnappyCompressor'};
使用 cqlsh 的选择:
cqlsh:test> SELECT page, local, key, vl FROM lalala;
page | local | key | vl
------------+-------+-------+----------------
teste.html | EN | title | Ola, bem vindo
我在 cassandra-pdo 上打开了一个问题,但没有任何回报:
http://code.google.com/a/apache-extras.org/p/cassandra-pdo/issues/detail?id=15
有人可以帮忙吗?