본문 바로가기

리눅스

CentOS 7에서 PHP rdkafka 확장(Extension) 모듈을 설치하는 방법

728x90

CentOS 7에서 PHP rdkafka 확장(Extension) 모듈을 설치하는 방법

테스트 환경

  • nginx
  • php-fpm

PHP 버전 확인

php -v
$ php -v
PHP 7.3.27 (cli) (built: Feb  2 2021 10:32:50) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.27, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.3.27, Copyright (c) 1999-2018, by Zend Technologies

PHP 저장소 버전 확인

yum info php | egrep 'Name|Arch|Version|Repo' 2
$ yum info php | egrep 'Name|Arch|Version|Repo'
Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast
Name        : php
Arch        : x86_64
Version     : 7.3.33
Repo        : remi-php73

php-devel 및 gcc 설치

rdkafka 확장을 빌드하려면 php-devel 및 gcc 패키지도 설치해야 합니다.

sudo yum install -y php-devel gcc

session 권한 확인(chmod 777 sessions)

$ ll /var/lib/php | egrep sessions
drwxrwxrwx 2 root apache 94208 Mar  2 11:14 sessions

re2c 패키지 설치

sudo yum install -y re2c

librdkafka 라이브러리 및 개발 도구 설치

PHP rdkafka 확장을 설치하기 전에 librdkafka 라이브러리와 관련 개발 도구를 설치해야 합니다.

sudo yum install -y librdkafka librdkafka-devel

rdkafka PECL 확장 설치

rdkafka PHP 확장을 PECL (PHP Extension Community Library)을 사용하여 설치합니다.

pecl install rdkafka

php.ini 설정 파일 확인

php --ini | grep php.ini
$ php --ini | grep php.ini
Configuration File (php.ini) Path: /etc
Loaded Configuration File:         /etc/php.ini

PHP 확장 활성화

php.ini 파일에 rdkafka 확장 모듈를 추가합니다.

echo "extension=rdkafka.so" >> /etc/php.ini

PHP rdkafka 확장 모듈 확인

PHP rdkafka 확장이 올바르게 설치되었는지 확인합니다.

php -m | grep rdkafka
$ php -m | grep rdkafka
rdkafka

PHP-FPM 재시작

PHP-FPM을 재시작하여 변경 사항을 적용합니다.

systemctl restart php-fpm
728x90

테스트 환경

  • apache(httpd)
  • php

PHP 버전 확인

php -v
$ /usr/local/php/bin/php -v
PHP 7.3.2 (cli) (built: Aug 10 2020 17:10:03) ( ZTS DEBUG )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.2, Copyright (c) 1998-2018 Zend Technologies

re2c 패키지 설치

sudo yum install -y re2c

librdkafka 라이브러리 및 개발 도구 설치

PHP rdkafka 확장을 설치하기 전에 librdkafka 라이브러리와 관련 개발 도구를 설치해야 합니다.

sudo yum install -y librdkafka librdkafka-devel

php-rdkafka 모듈 설치

git clone https://github.com/arnaud-lb/php-rdkafka.git
cd php-rdkafka
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make install

php.ini 설정 파일 확인

/usr/local/php/bin/php --ini | grep php.ini
$ /usr/local/php/bin/php --ini | grep php.ini
Configuration File (php.ini) Path: /usr/local/apache2/conf
Loaded Configuration File:         /usr/local/apache2/conf/php.ini

PHP 확장 활성화

rdkafka 확장을 PHP에서 활성화하려면 PHP 설정 파일(php.ini)에 추가합니다.

echo "extension=rdkafka.so" >> /usr/local/apache2/conf/php.ini

rdkafka 모듈 확인

PHP rdkafka 확장이 올바르게 설치되었는지 확인합니다.

/usr/local/php/bin/php -m | grep rdkafka
$ /usr/local/php/bin/php -m | grep rdkafka
rdkafka

웹 서비스(httpd) 재기동

/usr/local/apache2/bin/apachectl restart

 

참고URL

- https://arnaud.le-blanc.net/php-rdkafka-doc/phpdoc/rdkafka.installation.manual.html

 

728x90