【问题标题】:Installing php datastax driver on ubuntu在 ubuntu 上安装 php datastax 驱动程序
【发布时间】:2015-10-28 14:28:22
【问题描述】:

我正在尝试为 Cassandra 安装 datastax php 驱动程序,当我运行以下命令时:

pecl install ext/package.xml

从 git 中检查后,我收到以下消息:

configure: error: Unable to load libcassandra

ERROR: `/tmp/pear/temp/cassandra/configure' failed

谁能指出我正确的方向以成功安装此驱动程序?

我使用的 cassandra 版本是 2.1.8,所以驱动程序可能尚未更新以连接到最新版本的 cassandra。

【问题讨论】:

  • 你的config.log文件说什么?应该位于它正在构建的目录中。
  • cc:错误:无法识别的命令行选项“-qversion”。不太确定我在寻找什么 config.log
  • 任何帮助将不胜感激
  • 你用的是什么外壳?你试过 bash 吗?
  • 我没有尝试过 bash,因为我认为标准终端是必需的。

标签: php apache cassandra datastax datastax-php-driver


【解决方案1】:

以下步骤对我有用。 YMMV。

$ uname -a
3.2.0-4-amd64 #1 SMP Debian 3.2.68-1+deb7u3 x86_64 GNU/Linux

安装一些先决条件(从列表中删除 libuv-dev):

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

现在尝试安装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

运行以下命令后,会重启这些服务:mysql、exim4、cups、cron、atd、apache2

$ sudo apt-get update
$ sudo apt-get install libc6
$ sudo apt-get -f install

下载并安装以下文件:

$ 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

下载并安装 DataStax Cassandra PHP 扩展:

$ git clone https://github.com/datastax/php-driver.git
$ cd php-driver
$ sudo pecl install ext/package.xml 

将扩展名添加到php.ini:

$ sudo sh -c 'echo "extension=cassandra.so" >>/etc/php5/apache2/php.ini'

重启 Apache:

$ sudo /etc/init.d/apache2 restart

使用<?php phpinfo();确认Cassandra出现

【讨论】:

    【解决方案2】:

    这个问题已经解决了,错误的 php.ini 没有在 phpinfo() 中被引用。

    【讨论】:

      猜你喜欢
      • 2016-10-29
      • 2023-03-17
      • 2016-04-06
      • 2016-02-27
      • 2017-03-08
      • 2016-10-03
      • 1970-01-01
      • 1970-01-01
      • 2021-01-11
      相关资源
      最近更新 更多