본문 바로가기

리눅스

[draft] 우분투에 PHP rdkafka 확장 모듈을 설치하는 방법

728x90

우분투에 PHP rdkafka 확장 모듈을 설치하는 방법

필수 패키지 설치

빌드 도구 설치

sudo apt install -y build-essential

re2c 설치

sudo apt install -y re2c

PHP 개발 도구, PECL 도구 및 librdkafka 개발 헤더 파일 설치

sudo apt install -y php-dev php-pear librdkafka-dev

PECL을 통해 rdkafka 확장 설치

현재 PECL 채널 정보 확인

sudo pecl channel-info pecl.php.net
Channel pecl.php.net Information:
=================================
Name and Server         pecl.php.net
Alias                   pecl
Summary                 PHP Extension Community Library
Validation Package Name PEAR_Validator_PECL
Validation Package      1.0
Version
Server Capabilities
===================
Type Version/REST type Function Name/REST base
rest REST1.0           http://pecl.php.net/rest/
rest REST1.1           http://pecl.php.net/rest/

PECL 채널 업데이트

sudo pecl channel-update pecl.php.net
Updating channel "pecl.php.net"
Channel "pecl.php.net" is not responding over http://, failed with message: Connection to `pecl.php.net:80' failed: Network is unreachable
Trying channel "pecl.php.net" over https:// instead
Update of Channel "pecl.php.net" succeeded

기존에 설치된 rdkafka 확장을 제거

sudo pecl uninstall rdkafka

PECL 채널 강제 업데이트(URL을 직접 지정하여 채널 갱신)

sudo pecl channel-update https://pecl.php.net/channel.xml

rdkafka 확장을 PECL을 통해 설치

sudo pecl install rdkafka

php.ini 파일에 확장 활성화

rdkafka 확장을 활성화하기 위한 설정 파일 생성

echo "extension=rdkafka.so" | sudo tee /etc/php/8.3/mods-available/rdkafka.ini
sudo ln -s /etc/php/8.3/mods-available/rdkafka.ini /etc/php/8.3/fpm/conf.d/20-rdkafka.ini
sudo ln -s /etc/php/8.3/mods-available/rdkafka.ini /etc/php/8.3/cli/conf.d/20-rdkafka.ini

PHP-FPM 및 웹 서버 재시작

sudo systemctl restart php8.3-fpm

rdkafka 확장 모듈 확인

php -m | grep rdkafka
php-fpm8.3 -m | grep rdkafka

 

rdkafka 확장 모듈을 PHP에 성공적으로 설치할 수 있습니다.

 

728x90