Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Tags more
Archives
Today
Total
관리 메뉴

Memento

PHP Cassandra Driver 설치 본문

Work/PHP

PHP Cassandra Driver 설치

벚꽃손님 2019. 11. 27. 18:50

Cassandra DB에 접근하려다 PHP Driver를 설치하려니 DataStax PHP Driver가 PHP 7.3 환경에서는 쓸 수 없어서 끙끙거리다가 NodeJS로 우회해서 접근도 해보고, Thrift로 해보려다가 어떻게 겨우겨우 설치하니 써진다.

 

※ Ubuntu 16.04 (LTS) 환경임을 참고할 것

 

1. Installing PHP 7.0

apt-get install php7.0-dev

 

2. Installing dependancies

apt-get install build-essential cmake git libpcre3-dev

 

3. Installing libuv

- Ubuntu 16.04 LTS 이 링크로 이동해서 가장 최신 버전의 패키지 파일을 다운로드 받아 설치하면 된다.


wget https://downloads.datastax.com/cpp-driver/ubuntu/16.04/dependencies/libuv/v1.33.0/libuv1_1.33.0-1_amd64.deb
wget https://downloads.datastax.com/cpp-driver/ubuntu/16.04/dependencies/libuv/v1.33.0/libuv1-dev_1.33.0-1_amd64.deb
dpkg -i libuv1_1.33.0-1_amd64.deb
dpkg -i libuv1-dev_1.33.0-1_amd64.deb

 

4. Installing C/C++ driver

- Ubuntu 16.04 LTS 이 링크로 이동해서 가장 최신 버전의 패키지 파일을 다운로드 받아 설치하면 된다.

wget https://downloads.datastax.com/cpp-driver/ubuntu/16.04/cassandra/v2.14.0/cassandra-cpp-driver_2.14.0-1_amd64.deb
wget https://downloads.datastax.com/cpp-driver/ubuntu/16.04/cassandra/v2.14.0/cassandra-cpp-driver-dev_2.14.0-1_amd64.deb
dpkg -i cassandra-cpp-driver_2.14.0-1_amd64.deb
dpkg -i cassandra-cpp-driver-dev_2.14.0-1_amd64.deb

 

5. Building and Installing the PHP extension

- 이제 Cassandra driver를 설치하면 되는데, 7.1까지만 지원된다면서 설치가 안 된다.

- 꼼수로 잠깐 기본 PHP 버전을 교체한다.

update-alternatives --config php

 

- 위의 명령어를 치면 아래의 사진처럼 PHP 버전을 선택할 수 있다. 이 때, PHP 7.0 버전으로 선택해준다.

PHP 버전 선택

- 이후에, Cassandra driver를 설치한다.

// pecl 버그. ubuntu에서는 -n 옵션을 제거해야 한다.
sed -i "$ s|\-n||g" /usr/bin/pecl
// xml 모듈이 없는 경우, 설치해야 한다.
apt-get install php-xml php7.0-xml
// cassandra 설치
pecl install cassandra

- 설치 완료 된 이후, 다시 PHP버전을 원래대로 돌려준다.

- 설치 동작이 원활하지 않으면, https://datastax.github.io/php-driver/building/ 를 참고하여 수동으로 php-driver git 소스를 받아 빌드하면 된다.

cd ~
git clone https://github.com/datastax/php-driver.git
cd php-driver
pushd ext
phpize
popd
mkdir build
pushd build
../ext/configure
make
make install
popd

- 이래도 안되면, 어디서부터 안된건지 의존성 체크를 들어가야 한다.

 

6. Enabling the PHP extension

- php.ini에 Cassandra Extension을 추가하면 끝

extension=cassandra.so

'Work > PHP' 카테고리의 다른 글

Laravel 에서 AWS SNS 메세지 전송  (0) 2020.07.29