pecl install cassandra
выдает ошибку:
configure: error: Не удается загрузить libcassandra
ERROR: `/ tmp / pear / temp / cassandra / configure 'не удалось
Это сообщение об ошибке задано здесь на SO, но не было разрешено: установка драйвера php datastax на ubuntu
Может ли кто-нибудь помочь?
Вам не хватает драйвера cassandra C ++. Я столкнулся с той же проблемой в Ubuntu 14.04. Я сделал следующее, и это сработало для меня:
Предпосылки (Ubuntu 14.04):
sudo apt-get install php-pear php5-dev libgmp-dev libpcre3-dev g++ make cmake libssl-dev openssl
Загрузите следующие пакеты:
wget http://downloads.datastax.com/cpp-driver/ubuntu/16.04/dependenices/libuv/v1.8.0/libuv_1.8.0-1_amd64.deb wget http://downloads.datastax.com/cpp-driver/ubuntu/16.04/dependenices/libuv/v1.8.0/libuv-dev_1.8.0-1_amd64.deb wget http://downloads.datastax.com/cpp-driver/ubuntu/16.04/v2.4.1/cassandra-cpp-driver_2.4.1-1_amd64.deb wget http://downloads.datastax.com/cpp-driver/ubuntu/16.04/v2.4.1/cassandra-cpp-driver-dev_2.4.1-1_amd64.deb
Установите их в этом порядке с помощью dpkg:
sudo dpkg -i libuv_1.8.0-1_amd64.deb sudo dpkg -i libuv-dev_1.8.0-1_amd64.deb sudo dpkg -i cassandra-cpp-driver-dev_2.4.1-1_amd64.deb sudo dpkg -i cassandra-cpp-driver_2.4.1-1_amd64.deb
Вы должны установить cassandra с помощью pecl. Не забудьте добавить extension=cassandra.so
в файл php.ini и перезапустить php-процесс.
Основываясь на ответе в обсуждении, которое вы связывали ранее.
Так я получил его на работу (на debian):
sudo apt-get update sudo apt-get install -y g++ git make cmake clang libssl-dev libgmp-dev php5-cgi php5-fpm php5 php5-dev openssl libpcre3-dev sudo apt-get install libc6 sudo apt-get -f install sudo curl http://downloads.datastax.com/cpp-driver/ubuntu/14.04/libuv_1.7.5-1_amd64.deb > /var/www/html/libuv_1.7.5-1_amd64.deb sudo curl http://downloads.datastax.com/cpp-driver/ubuntu/14.04/libuv-dev_1.7.5-1_amd64.deb > /var/www/html/libuv-dev_1.7.5-1_amd64.deb sudo curl http://downloads.datastax.com/cpp-driver/ubuntu/14.04/cassandra-cpp-driver_2.0.1-1_amd64.deb > cassandra-cpp-driver_2.0.1-1_amd64.deb sudo curl http://downloads.datastax.com/cpp-driver/ubuntu/14.04/cassandra-cpp-driver-dev_2.0.1-1_amd64.deb > cassandra-cpp-driver-dev_2.0.1-1_amd64.deb sudo dpkg -i libuv_1.7.5-1_amd64.deb sudo dpkg -i libuv-dev_1.7.5-1_amd64.deb sudo dpkg -i cassandra-cpp-driver_2.0.1-1_amd64.deb sudo dpkg -i cassandra-cpp-driver-dev_2.0.1-1_amd64.deb sudo pecl install cassandra
Я попытался установить драйвер cassandra для php на Ubuntu 14.04.1 LTS для PHP 5.5.9 с использованием php-драйвера и cpp-драйвера, как показано ниже:
sudo apt-get install g++ clang make cmake libuv-dev libssl-dev git; git clone https://github.com/datastax/cpp-driver.git mkdir cpp-driver/build cd cpp-driver/build cmake .. make
а потом,
sudo apt-get install libgmp-dev php5 php5-dev openssl libpcre3-dev pecl install cassandra
Но получил ошибку,
checking for supported DataStax C/C++ driver version... nawk: cannot open /include/cassandra.h (No such file or directory) configure: error: not supported. Driver version 2.4.2+ required (found ) ERROR: /tmp/pear/temp/cassandra/configure' failed
после справки,
cp cpp-driver/include/cassandra.h /usr/include/
снова получил еще один,
checking for cass_cluster_new in -lcassandra... no configure: error: Unable to load libcassandra ERROR: /tmp/pear/temp/cassandra/configure' failed
После много исследований я получил следующее простое решение,
sudo wget http://downloads.datastax.com/cpp-driver/ubuntu/14.04/dependencies/libuv/v1.8.0/libuv_1.8.0-1_amd64.deb sudo wget http://downloads.datastax.com/cpp-driver/ubuntu/14.04/dependencies/libuv/v1.8.0/libuv-dev_1.8.0-1_amd64.deb sudo wget http://downloads.datastax.com/cpp-driver/ubuntu/14.04/cassandra/v2.5.0/cassandra-cpp-driver-dev_2.5.0-1_amd64.deb sudo wget http://downloads.datastax.com/cpp-driver/ubuntu/14.04/cassandra/v2.5.0/cassandra-cpp-driver_2.5.0-1_amd64.deb sudo dpkg -i libuv_1.8.0-1_amd64.deb sudo dpkg -i libuv-dev_1.8.0-1_amd64.deb sudo dpkg -i cassandra-cpp-driver-dev_2.5.0-1_amd64.deb sudo dpkg -i cassandra-cpp-driver_2.5.0-1_amd64.deb
Затем просто скопируйте и включите расширение,
sudo vim /etc/php5/mods-available/cassandra.ini extension=cassandra.so; php5enmod cassandra
Для ubuntu 14.04: Этапы установки:
sudo apt-get install php-pear php5-dev libgmp-dev libpcre3-dev g++ make cmake libssl-dev openssl<br /> wget downloads.datastax.com/cpp-driver/ubuntu/14.04/dependencies/libuv/v1.8.0/libuv_1.8.0-1_amd64.deb<br />wget downloads.datastax.com/cpp-driver/ubuntu/14.04/dependencies/libuv/v1.8.0/libuv-dev_1.8.0-1_amd64.deb<br /> wget downloads.datastax.com/cpp-driver/ubuntu/14.04/cassandra/v2.4.2/cassandra-cpp-driver_2.4.2-1_amd64.deb<br /> wget downloads.datastax.com/cpp-driver/ubuntu/14.04/cassandra/v2.4.2/cassandra-cpp-driver-dev_2.4.2-1_amd64.deb sudo dpkg -i libuv_1.8.0-1_amd64.deb<br /> sudo dpkg -i libuv-dev_1.8.0-1_amd64.deb<br /> sudo dpkg -i cassandra-cpp-driver_2.4.2-1_amd64.deb<br /> sudo dpkg -i cassandra-cpp-driver-dev_2.4.2-1_amd64.deb<br /> pecl install cassandra ADD extension=cassandra.so in php.ini restart the PHP process<br />
Это все. 🙂
Для CentOS 7. Этапы установки:
sudo yum update sudo yum install automake cmake gcc gcc-c++ git libtool openssl-devel wget gmp gmp-devel boost php-devel pcre-devel git pushd /tmp wget http://dist.libuv.org/dist/v1.8.0/libuv-v1.8.0.tar.gz tar xzf libuv-v1.8.0.tar.gz pushd libuv-v1.8.0 sh autogen.sh ./configure sudo make install popd popd sudo curl http://downloads.datastax.com/cpp-driver/centos/7/dependencies/libuv/v1.8.0/libuv-1.8.0-1.el7.centos.x86_64.rpm sudo curl http://downloads.datastax.com/cpp-driver/centos/7/dependencies/libuv/v1.8.0/libuv-devel-1.8.0-1.el7.centos.x86_64.rpm sudo curl http://downloads.datastax.com/cpp-driver/centos/7/cassandra/v2.4.3/cassandra-cpp-driver-2.4.3-1.el7.centos.x86_64.rpm sudo curl http://downloads.datastax.com/cpp-driver/centos/7/cassandra/v2.4.3/cassandra-cpp-driver-devel-2.4.3-1.el7.centos.x86_64.rpm sudo rpm -ivh libuv-1.8.0-1.el7.centos.x86_64.rpm sudo rpm -ivh libuv-devel-1.8.0-1.el7.centos.x86_64.rpm sudo rpm -ivh cassandra-cpp-driver-2.4.3-1.el7.centos.x86_64.rpm sudo rpm -ivh cassandra-cpp-driver-devel-2.4.3-1.el7.centos.x86_64.rpm sudo yum update sudo pecl install cassandra sudo yum update
Для официальной PHP-машины Docker:
cd /tmp apt-get install php-pear php5-dev libgmp-dev libpcre3-dev g++ make cmake libssl-dev openssl php -r '$files = ["http://downloads.datastax.com/cpp-driver/ubuntu/14.04/dependencies/libuv/v1.8.0/libuv_1.8.0-1_amd64.deb", "http://downloads.datastax.com/cpp-driver/ubuntu/14.04/dependencies/libuv/v1.8.0/libuv-dev_1.8.0-1_amd64.deb", "http://downloads.datastax.com/cpp-driver/ubuntu/14.04/v2.3.0/cassandra-cpp-driver_2.3.0-1_amd64.deb", "http://downloads.datastax.com/cpp-driver/ubuntu/14.04/v2.3.0/cassandra-cpp-driver-dev_2.3.0-1_amd64.deb"]; foreach($files as $file) { copy($file, basename($file)); }' dpkg -i libuv_1.8.0-1_amd64.deb dpkg -i libuv-dev_1.8.0-1_amd64.deb dpkg -i cassandra-cpp-driver_2.3.0-1_amd64.deb dpkg -i cassandra-cpp-driver-dev_2.3.0-1_amd64.deb pecl install cassandra echo 'extension=cassandra.so' > /usr/local/etc/php/conf.d/php-ext-cassandra.ini
Затем перезапустите контейнер (перезагрузите docker-compose restart ~~image~fpm~~
).