【问题标题】:How to connect Cassandra with PHP如何将 Cassandra 与 PHP 连接起来
【发布时间】:2013-08-11 07:27:35
【问题描述】:

我需要帮助才能使用“PHPCassa”将 Cassandra 与 php 连接起来。我尝试过,但出现以下异常。我使用 Ubuntu 作为 Web 服务器。

NoServerAvailable Object ([message:protected] => 尝试连接到每个服务器两次,但所有尝试都失败了。最后一个错误是:异常 'cassandra_InvalidRequestException' 与消息 'Keyspace 'testApp' 不存在' /var/www/Cassandra/phpcassa/thrift/packages/cassandra/Cas​​sandra.php:138 堆栈跟踪:#0 /var/www/Cassandra/phpcassa/thrift/packages/cassandra/Cas​​sandra.php(138):thrift_protocol_read_binary(对象(TBinaryProtocolAccelerated), 'cassandra_Cassa...', false) #1 /var/www/Cassandra/phpcassa/thrift/packages/cassandra/Cas​​sandra.php(113): CassandraClient->recv_set_keyspace() #2 /var/www/ Cassandra/phpcassa/connection.php(102): CassandraClient->set_keyspace('testApp') #3 /var/www/Cassandra/phpcassa/connection.php(84): ConnectionWrapper->set_keyspace('testApp') #4 / var/www/Cassandra/phpcassa/connection.php(222): ConnectionWrapper->__construct('testApp', '127.0.0.1:9160', NULL, true, 5000, 5000) #5 /var/www/Cassandra/phpcassa /connection.php(258): 连接tionPool->make_conn() #6 /var/www/Cassandra/phpcassa/connection.php(352): ConnectionPool->get() #7 /var/www/Cassandra/phpcassa/connection.php(287): ConnectionPool- >call('describe_keyspa...', 'testApp') #8 /var/www/Cassandra/phpcassa/columnfamily.php(194): ConnectionPool->describe_keyspace() #9 /var/www/Cassandra/index.php (7): ColumnFamily->__construct(Object(ConnectionPool), 'Users') #10 {main} [string:Exception:private] => [code:protected] => 0 [file:protected] => /var/ www/Cassandra/phpcassa/connection.php [line:protected] => 233 [trace:Exception:private] => Array ([0] => Array ([file] => /var/www/Cassandra/phpcassa/connection .php [line] => 258 [function] => make_conn [class] => ConnectionPool [type] => -> [args] => Array ( ) ) [1] => Array ( [file] => /var /www/Cassandra/phpcassa/connection.php [line] => 352 [function] => get [class] => ConnectionPool [type] => -> [args] => Array ( ) ) [2] => Array ( [文件] => /var/www/Cassandra/phpcassa/connection.php [行] => 287 [函数] => ca ll [class] => ConnectionPool [type] => -> [args] => Array ( [0] => describe_keyspace [1] => testApp ) ) [3] => Array ( [file] => /var/ www/Cassandra/phpcassa/columnfamily.php [line] => 194 [function] => describe_keyspace [class] => ConnectionPool [type] => -> [args] => Array ()) [4] => Array ( [file] => /var/www/Cassandra/index.php [line] => 7 [function] => __construct [class] => ColumnFamily [type] => -> [args] => Array ([0] => ConnectionPool 对象 ( [keyspace] => testApp [servers:ConnectionPool:private] => 数组 ( [0] => 127.0.0.1:9160 ) [pool_size:ConnectionPool:private] => 5 [send_timeout:ConnectionPool:private] => 5000 [recv_timeout:ConnectionPool:private] => 5000 [credentials:ConnectionPool:private] => [framed_transport:ConnectionPool:private] => 1 [queue:ConnectionPool:private] => 数组 () [keyspace_description:ConnectionPool:private ] => [max_retries] => 5 [recycle] => 10000 [stats] => Array ([created] => 0 [failed] => 2 [recycled] => 0) [list_position] => 0) [1 ] => 用户) ) ) [previous:Exception:private] => )

【问题讨论】:

  • 我假设 cassandra 正在运行
  • 你可以试试:askubuntu.com
  • 是的 cassandra 正在运行
  • 提示:`'键空间'testApp'不存在'`

标签: php ubuntu cassandra phpcassa


【解决方案1】:

键空间名称从 thrift (phpcassa) 中区分大小写。如果您使用“cqlsh”创建键空间,并且没有使用单引号,则 CQL 会在创建之前将名称转换为小写。
http://www.datastax.com/documentation/cassandra/1.2/webhelp/index.html#cassandra/cql_reference/cql_lexicon_c.html#reference_ds_b4h_gx5_yj

尝试在 phpcassa 中使用“testapp”作为连接名称。

【讨论】:

    猜你喜欢
    • 2016-10-02
    • 2018-08-13
    • 1970-01-01
    • 2016-05-01
    • 1970-01-01
    • 2017-04-03
    • 2015-01-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多