2016-04-10 21 views
1

私は次のようにインストールプロセスをやった:PHP-Driver DataStax Cassandra DB - どのように使用しますか?

システム

をPHP 7.0.5-1〜dotdeb + 8.1(CLI)(NTS)

Debianの8

nginxの1.8.1

Laravel 5.2

Javaのインストール

mkdir -p /usr/lib/jvm 
wget URL to Oraclesite 
mv mv jdk-8u77-linux-x64.tar.gz\?... jdk-8u77-linux-x64.tar.gz 
tar xzf jdk-8u77-linux-x64.tar.gz 
rm jdk-8u77-linux-x64.tar.gz 
update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jdk1.8.0_version/bin/java" 1 
update-alternatives --set java /usr/lib/jvm/jdk1.8.0_version/bin/java 

必要なパッケージをインストールします

apt install cmake automake libtool git php7.0-dev libgmp-dev libssl-dev 

Libuvインストール

cd /tmp 
wget http://dist.libuv.org/dist/v1.7.5/libuv-v1.7.5.tar.gz 
tar xzf libuv-v1.7.5.tar.gz 
rm libuv-v1.9.0.tar.gz 
cd libuv-v1.7.5 
sh autogen.sh 
./configure 
make 
make install 
ldconfig 

インストールカサンドラDatatrax

echo "deb http://debian.datastax.com/community stable main" | sudo tee -a /etc/apt/sources.list.d/cassandra.sources.list 
curl -L http://debian.datastax.com/debian/repo_key | sudo apt-key add - 
apt install cassandra dsc30 

チェックサービス

service cassandra status 

cassandra.service - LSB:ロードされ、構造化 データの分散ストレージシステム:ロードアクティブ(/etc/init.d/cassandra):アクティブ (ランニング)月2016年4月11日01以来:11:04CEST; 19min前処理:506 ExecStart =の/ etc/init.dディレクトリ/ Cassandraの開始(コード=終了し、ステータス= 0/SUCCESS) CGROUP:/system.slice/cassandra.service

nodetool status 

データセンター:データセンター1 =====================ステータス=上/下| /状態=正常/離脱/結合/移動 - アドレス読み込みトークン所有(有効)ホストIDラックUN 127.0.0.1 139.06 256 256 100.0%
1ab0e99a-41a5-4007-b9ca-de58dc88e318 rack1

cqlsh 

127.0.0.1:9042でテストクラスタに接続しました。 [cqlsh 5.0.1 |カッサンドラ 3.0.4 | CQL仕様3.4.0 |ネイティブプロトコルv4] ヘルプを使用してヘルプを使用します。

のphp-ドライバ

インストール

git clone https://github.com/datastax/php-driver.git 
cd php-driver 
git submodule update --init 
cd ext 
./install.sh 
make test -> all tests passed 

echo -e "; DataStax PHP Driver\nextension=cassandra.so" >> /etc/php/7.0/cli/php.ini 

// UPDATE - added extension to fpm/php.ini file. 
echo -e "; DataStax PHP Driver\nextension=cassandra.so" >> /etc/php/7.0/fpm/php.ini 

再起動nginxのPHP拡張機能にドライバを追加します(PECLのインストールが機能していませんが。私はそれが理由だけPHP7セットアップのだと思う)とphp7。0-FPM

service nginx restart 
service php7.0-fpm restart 

質問:私はクラスカサンドラが見つからない、それは私に言って、次のコードを使用したい場合は

。 ウェブページ:https://github.com/datastax/php-driver#datastax-php-driver-for-apache-cassandra

$cluster = Cassandra::cluster()->build(); 

はご協力いただきありがとうございます。

答えて

4

nginx + fpmを使用してPHPスクリプトを実行しようとしているので、適切なphp.iniファイル(たとえば/etc/php7/fpm/php.ini)を更新する必要があります。

あなたは次のことを実行することができ、ドライバが正しくCLI経由でロードされていることを確認するには、あなたのnginx + FPMインストール

echo -e "; DataStax PHP Driver\nextension=cassandra.so" >> /etc/php/7.0/fpm/php.ini 

にドライバモジュールを追加します。

php -m | grep cassandra 

または

php -i | grep -A 10 "^cassandra$" 

php -mは、PHPができるすべての拡張モジュールを表示しますをロードします。一方、php -iは、PHPインストール設定に関するより詳細な情報を表示します。私は、次の2つのコマンドを実行すると

1

UPDATE 1

は、私はかなりの成功に見えている、以下の二つの結果が得られます。

php -m |グレップのカサンドラ

カサンドラ

のphp -i | grepの-A 10 "^カサンドラの$"

カサンドラ

カサンドラサポート=> C/C++ドライバのバージョン=> 2.2.2永続 クラスタ=> 0永続セッション=> 0

を有効に

指令=>ローカル値=>マスタ値cassandra.log => cassandra.log => cassandra.log cassandra.log_level => ERROR => ERROR

富栄まだクラスCassandraのエラーはありません。今働いて

UPDATE 2

すべて。

php > $cluster = Cassandra::cluster()->build(); 
php > var_dump($cluster); 
object(Cassandra\DefaultCluster)#2 (0) { } 
php > 
関連する問題