Mos*_*shi 6 php apache cassandra datastax datastax-php-driver
我正在尝试为Cassandra安装datastax php驱动程序,当我运行以下命令时:
pecl install ext/package.xml
Run Code Online (Sandbox Code Playgroud)
检查出git之后我得到以下消息:
configure: error: Unable to load libcassandra
ERROR: `/tmp/pear/temp/cassandra/configure' failed
Run Code Online (Sandbox Code Playgroud)
有人能指出我正确的方向,以成功安装此驱动程序吗?
我正在使用的cassandra版本是2.1.8所以也许驱动程序尚未更新以连接到最新版本的cassandra.
以下步骤对我有用.因人而异.
$ uname -a
3.2.0-4-amd64 #1 SMP Debian 3.2.68-1+deb7u3 x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)
安装一些先决条件(libuv-dev从列表中删除):
$ sudo apt-get install g++ make cmake libssl-dev libgmp-dev php5 php5-dev openssl libpcre3-dev
Run Code Online (Sandbox Code Playgroud)
尝试立即安装libuv-dev将导致以下错误:
libuv依赖于libc6(> = 2.14); 但是:系统上的libc6:amd64版本是2.13-38 + deb7u8.
Wheezy似乎有一个稍微旧的版本libc6.升到Jessie获得2.14.将以下内容添加到/etc/apt/sources.list:
deb ftp://ftp.debian.org/debian/ jessie main
deb-src ftp://ftp.debian.org/debian/ jessie main
Run Code Online (Sandbox Code Playgroud)
运行以下命令后,将重新启动这些服务:mysql,exim4,cups,cron,atd,apache2
$ sudo apt-get update
$ sudo apt-get install libc6
$ sudo apt-get -f install
Run Code Online (Sandbox Code Playgroud)
下载并安装以下文件:
$ wget http://downloads.datastax.com/cpp-driver/ubuntu/14.04/libuv_1.6.1-1_amd64.deb
$ wget http://downloads.datastax.com/cpp-driver/ubuntu/14.04/libuv-dev_1.6.1-1_amd64.deb
$ wget http://downloads.datastax.com/cpp-driver/ubuntu/14.04/cassandra-cpp-driver_2.1.0-1_amd64.deb
$ wget http://downloads.datastax.com/cpp-driver/ubuntu/14.04/cassandra-cpp-driver-dev_2.1.0-1_amd64.deb
$ sudo dpkg -i libuv_1.6.1-1_amd64.deb
$ sudo dpkg -i libuv-dev_1.6.1-1_amd64.deb
$ sudo dpkg -i cassandra-cpp-driver_2.1.0-1_amd64.deb
$ sudo dpkg -i cassandra-cpp-driver-dev_2.1.0-1_amd64.deb
Run Code Online (Sandbox Code Playgroud)
下载并安装DataStax Cassandra PHP扩展:
$ git clone https://github.com/datastax/php-driver.git
$ cd php-driver
$ sudo pecl install ext/package.xml
Run Code Online (Sandbox Code Playgroud)
将扩展名添加到php.ini:
$ sudo sh -c 'echo "extension=cassandra.so" >>/etc/php5/apache2/php.ini'
Run Code Online (Sandbox Code Playgroud)
重启Apache:
$ sudo /etc/init.d/apache2 restart
Run Code Online (Sandbox Code Playgroud)
确认Cassandra正在使用 <?php phpinfo();