# プログラミング # 技術的な話題# 技術的な話題-PHP# 技術的な話題-Cassandra

CassandraのPHP用クライアントをインストール

PHPからCassandraを使うには、ThriftをインストールしてPHP用Cassandraクライアントを生成するという方法もあるのですが、phpcassaなるライブラリを利用したらThriftのインストールがバッサリとショートカットできた…。

一応Thriftを使った方法はウノウラボさんの所で紹介されていますので、そちらを参照くださいませー

ひとまずこのエントリーではphpcassaのインストールと簡単な使い方を紹介しておきます。

phpcassaのインストール

wget https://github.com/downloads/thobbs/phpcassa/phpcassa-0.8.a.2.tar.gz

tar -zxvf phpcassa-0.8.a.2.tar.gz

cp -R phpcassa-0.8.a.2 /usr/local/phpcassa

cd /usr/local/phpcassa/thrift/ext/thrift_protocol

phpize

./configure

make && make install

上記では /usr/local にコピーしていますが、コピーする位置はお好みでどうぞ。

phpが認証するように、php.iniファイルへ記述。Ubuntuの場合はconf.dディレクトリにthrift_protocol.ini を作成。

vi /etc/php5/apache2/conf.d/thrift_protocol.ini

以下を記述

extension=thrift_protocol.so

apache再起動。

apache2ctl restart

phpにthrift_protocolがインストールされているか確認。

php -i | grep thrift

/etc/php5/cli/conf.d/thrift_protocol.ini,

thrift_protocol

PWD => /usr/local/phpcassa/thrift/ext/thrift_protocol

_SERVER[“PWD”] => /usr/local/phpcassa/thrift/ext/thrift_protocol

cassandra-cliでテストデータを追加。

cassandra-cli

[default@unknown] connect localhost/9160;

[default@unknown] create keyspace Keyspace1;

[default@unknown] use Keyspace1;

[default@Keyspace1] create column family ColumnFamily1;

[default@Keyspace1] quit;

ひとまずテストスクリプトを書いて、動かしてみる。

<?php

require_once '/usr/local/phpcassa/connection.php';
require_once '/usr/local/phpcassa/columnfamily.php';

// Making a Connection
$pool = new ConnectionPool('Keyspace1', array('localhost'));

// Getting a ColumnFamily
$column_family = new ColumnFamily($pool, 'ColumnFamily1');

// Inserting Data
$column_family->insert('row_key', array('col_name'=>'col_val'));

// Getting Data
$tmp_arr = $column_family->get('row_key', array('col_name'));
print_r($tmp_arr);
/*
array(
    [col_name]=>[col_val]
)
*/

// Removing Data
$column_family->remove('row_key', array('col_name'));

$pool->close();

phpcassaのドキュメントはこちら。