설치 설명
Workerman은 실제로 PHP 코드 패키지입니다. PHP 환경이 이미 준비되어 있다면, Workerman 소스 코드나 데모를 다운로드하여 실행하기만 하면 됩니다.
Composer 설치:
composer require workerman/workerman
주의
일부 composer 프록시 미러가 완전하지 않으므로, 위 명령어composer config -g --unset repos.packagist로 프록시를 제거하세요.
Windows 사용자(필독)
Workerman 3.5.3 버전부터는 Workerman이 Windows 및 Linux 시스템을 모두 지원합니다.
Windows 사용자는 PHP 환경 변수를 설정해야 합니다.
=== 이 페이지는 Linux 환경의 Workerman에만 적용됩니다. Windows 사용자는 무시하세요. ===
Linux 시스템 환경 검사
Linux 시스템에서는 다음 스크립트를 사용하여 로컬 PHP 환경이 Workerman 실행 요건을 충족하는지 테스트할 수 있습니다.
curl -Ss https://www.workerman.net/check | php
위 스크립트가 모두 ok로 표시되면 Workerman 요구 사항을 충족하는 것입니다. 간단한 예제를 실행하기 위해 공식 웹사이트에서 다운로드하면 됩니다.
모두 ok가 아니면, 아래 문서를 참조하여 누락된 확장을 설치하세요.
(주의: 검사 스크립트는 event 확장을 검사하지 않습니다. 비즈니스 동시 연결 수가 1024를 초과하는 경우 반드시 event 확장을 설치해야 하며, Linux 커널 최적화를 진행해야 합니다. 확장 설치 방법은 아래 설명을 참조하세요.)
기존 PHP 환경에 누락된 확장 설치
pcntl 및 posix 확장 설치:
CentOS 시스템
PHP가 yum으로 설치된 경우, 명령줄에서 yum install php-process를 실행하여 pcntl 및 posix 확장을 설치할 수 있습니다.
설치에 실패하거나 PHP 본체가 yum으로 설치되지 않았다면, 매뉴얼 부록 - 확장 설치 3방법 소스 코드 컴파일 설치를 참조하세요.
Debian/Ubuntu/Mac OS 시스템
매뉴얼 부록 - 확장 설치 3방법 소스 코드 컴파일 설치를 참조하세요.
event 확장 설치:
더 큰 동시 연결 수를 지원하기 위해서는 event 확장을 설치해야 하며, Linux 커널 최적화를 진행해야 합니다. 설치 방법은 다음과 같습니다:
CentOS 시스템
-
event 확장의 의존성인 libevent-devel 패키지를 설치합니다. 명령줄에서 실행
yum install libevent-devel -y # 설치할 수 없는 경우, 아래 명령을 사용해 보세요 # yum install libevent2-devel -y -
event 확장을 설치합니다. 명령줄에서 실행
(event 확장은 PHP>=5.4를 요구합니다)pecl install event주의 사항:
Include libevent OpenSSL support [yes] :에서no를 입력하고 엔터키를 누르세요. 나머지는 그대로 엔터키를 누르세요. -
php --ini를 실행하여 php.ini 파일을 찾고 열어, 마지막 줄에 다음 구성을 추가합니다.extension=event.so
Debian/Ubuntu 시스템 설치
-
event 확장의 의존성인 libevent-dev 패키지를 설치합니다. 명령줄에서 실행
apt-get install libevent-dev -y # 설치할 수 없는 경우, 다음 명령을 시도해 보세요 # apt-get install libevent2-dev -y -
event 확장을 설치합니다. 명령줄에서 실행
pecl install event주의 사항:
Include libevent OpenSSL support [yes] :에서no를 입력하고 엔터키를 누르세요. 나머지는 그대로 엔터키를 누르세요. -
php --ini를 실행하여 php.ini 파일을 찾고 열어, 마지막 줄에 다음 구성을 추가합니다.extension=event.so
Mac OS 시스템 설치 가이드
Mac 시스템은 일반적으로 개발 머신으로 사용되므로 event 확장을 설치할 필요가 없습니다.
새 시스템 설치 (PHP+확장 새로 설치)
CentOS 시스템 설치 가이드
-
명령줄에서 실행(이 단계는 php-cli 주요 프로그램 및 pcntl, posix, libevent 라이브러리와 git 프로그램 설치를 포함합니다)
yum install php-cli php-process git gcc php-devel php-pear libevent-devel -y -
event 확장을 설치합니다. 명령줄에서 실행
(주의: event 확장은 PHP>=5.4를 요구합니다)pecl install event주의 사항:
Include libevent OpenSSL support [yes] :에서no를 입력하고 엔터키를 누르세요. 나머지는 그대로 엔터키를 누르세요. -
php --ini를 실행하여 php.ini 파일을 찾고 열어, 마지막 줄에 다음 구성을 추가합니다.extension=event.so -
명령줄에서 실행(이 단계는 GitHub를 통해 Workerman 주요 프로그램을 다운로드합니다)
git clone https://github.com/walkor/Workerman -
시작 가이드 -- 간단한 개발 예제 부분을 참조하여 엔트리 파일을 작성하여 실행합니다.
또는 공식 웹사이트에서 패키지된 데모를 다운로드하여 실행합니다.
Debian/Ubuntu 시스템 설치 가이드
-
명령줄에서 실행(이 단계는 php-cli 주요 프로그램, libevent 라이브러리 및 git 프로그램 설치를 포함합니다)
apt-get install php-cli git gcc php-pear php-dev libevent-dev -y -
event 확장을 설치합니다. 명령줄에서 실행
(주의: event 확장은 PHP>=5.4를 요구합니다)pecl install event주의 사항:
Include libevent OpenSSL support [yes] :에서no를 입력하고 엔터키를 누르세요. 나머지는 그대로 엔터키를 누르세요. -
php --ini를 실행하여 php.ini 파일을 찾고 열어, 마지막 줄에 다음 구성을 추가합니다.extension=event.so -
명령줄에서 실행(이 단계는 GitHub를 통해 Workerman 주요 프로그램을 다운로드합니다)
git clone https://github.com/walkor/Workerman -
시작 가이드 -- 간단한 개발 예제 부분을 참조하여 엔트리 파일을 작성하여 실행합니다.
또는 공식 웹사이트에서 패키지된 데모를 다운로드하여 실행합니다.
Mac OS 시스템 설치 가이드
방법 1: Mac 시스템은 PHP CLI를 기본적으로 제공하지만, pcntl 확장이 부족할 수 있습니다.
-
매뉴얼 부록 - 확장 설치 3방법 소스 코드 컴파일 설치를 참조하여
pcntl확장을 설치합니다. -
매뉴얼 부록 - 확장 설치 4방법 phpize를 이용하여
event확장을 설치합니다(개발 머신이므로 생략 가능). -
https://www.workerman.net/download/workermanzip 에서 Workerman 주요 프로그램을 다운로드하거나 공식 웹사이트에서 예제를 다운로드하여 실행합니다.
방법 2: brew 명령으로 PHP 및 관련 확장을 설치합니다.
-
명령줄에서 다음 명령을 실행하여
brew도구를 설치합니다(이미 설치된 경우 이 단계는 생략 가능)./usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" -
명령줄에서 다음 명령을 실행하여
php를 설치합니다.brew install php -
명령줄에서 다음 명령을 실행하여
event확장을 설치합니다.brew install php-event -
공식 웹사이트에서 예제를 다운로드하여 실행합니다.
Event 확장 설명
Event 확장은 필수가 아닙니다. 비즈니스에서 1000 이상의 동시 연결을 지원해야 할 필요가 있을 때 설치하는 것이 좋습니다. 이는 거대한 동시 연결을 지원할 수 있습니다. 비즈니스의 동시 연결이 낮은 경우, 예를 들어 1000 이하의 동시 연결에서는 설치하지 않아도 될 수 있습니다.
자주 묻는 질문
-
다음과 같은 오류가 발생할 경우
checking for include/event2/event.h... not found먼저 libevent-dev(el) 라이브러리를 삭제하고 libevent2-dev(el) 라이브러리를 설치해 보세요.
CentOS 시스템: yum remove libevent-devel && yum install libevent2-devel
Debian/Ubuntu 시스템: apt-get remove libevent-dev && apt-get install libevent2-dev -
다음과 같은 오류가 발생할 경우
NOTICE: PHP message: PHP Warning: PHP Startup: Unable to load dynamic library '.../event.so' - ..../event.so: undefined symbol: php_sockets_le_socket in Unknown on line 0。
event.so와 socket.so의 로드 순서를 변경하세요. 즉, php.ini에서extension=socket.so를extension=event.so앞에 두어 socket 확장이 먼저 로드되도록 하세요.