Apache Cassandra 的安装及使用 (二)

一、cassandra-php扩展

1、cassandra扩展依赖库:

- The C/C++ driver and its dependencies.
- The GNU Multiple Precision Arithmetic Library.
- Libuv

使用homebrew安装依赖

    brew install libuv cmake gmp git

使用apt-get安装

   sudo apt-get install g++ make cmake libuv-dev libssl-dev libgmp-dev php5 php5-dev openssl libpcre3-dev git

使用yum安装

sudo yum install automake cmake gcc gcc-c++ git libtool openssl-devel wget gmp gmp-devel boost php-devel pcre-devel
pushd /tmp
wget http://dist.libuv.org/dist/v1.11.0/libuv-v1.11.0.tar.gz
tar xzf libuv-v1.11.0.tar.gz
pushd libuv-v1.11.0
sh autogen.sh
./configure
sudo make install
popd

编译安装cpp-driver (依赖包参照官方文档安装 DataStax C/C++ Driver for Apache Cassandra )

sudo yum -y install epel-release
git clone https://github.com/datastax/cpp-driver.git
mkdir cpp-driver/build
cd cpp-driver/build
cmake ..
make
make install

2、 pecl安装 cassandra 扩展 :

若没有pecl命令,需要先将/opt/lampp/bin/ 目录添加至环境变量

sudo vi /etc/profile
     添加 export PATH=/opt/lampp/bin/:$PATH
source /etc/profile
whereis pecl
     pecl: /opt/lampp/bin/pecl

执行命令安装cassandra

pecl install cassandra 

安装成功后将extension=cassandra.so 添加至 php.ini

加载成功后可在phpinfo中查看配置:
Apache Cassandra 的安装及使用 (二)_第1张图片

cassandra.so 无法成功加载问题

1、PHP Warning: PHP Startup: Unable to load dynamic library ‘/opt/lampp/lib/php/extensions/no-debug-non-zts-20151012/cassandra.so’ - libcassandra.so.2: cannot open shared object file: No such file or directory in Unknown on line 0

这个问题是缺少/usr/local/lib64/libcassandra.so.2文件,经查找发现/usr/lib64/libcassandra.so.2存在,创建软件接至lib64中,问题解决

ln -s /usr/local/lib64/libcassandra.so.2 /usr/lib64/libcassandra.so.2

2、 PHP Warning: PHP Startup: Unable to load dynamic library ‘/opt/lampp/lib/php/extensions/no-debug-non-zts-20151012/cassandra.so’ - /opt/lampp/lib/libstdc++.so.6: version `GLIBCXX_3.4.15’ not found

问题是lampp自带的 libstdc++.so.6 缺少版本 GLIBCXX_3.4.15,同样在/usr/lib64/中发现也有 libstdc++.so.6 文件,使用下面命令检查后, usr/lib64中的版本较高, 将lampp中的替换后 问题解决

    strings  /opt/lampp/lib/libstdc++.so.6 | grep GLIBC

参考文档:http://docs.datastax.com/en/developer/php-driver/1.3/

你可能感兴趣的:(PHP开发,数据库,#,Nosql)