WorkerMan은 PHP 명령줄 PHP CLI를 기반으로 실행되며 다양한 PHP 실행 프로그램을 사용합니다. 오늘은 확장 프로그램 설치 방법에 대해 설명하겠습니다.
참고
Apache+PHP 또는 Nginx+PHP의 실행 모드와 달리 WorkerMan은 PHP 명령줄 PHP CLI를 기반으로 실행되며 다른 PHP 실행 프로그램을 사용합니다. ini 파일도 다를 수 있습니다. 따라서 웹 페이지에서 phpinfo()를 인쇄하여 확장 기능이 설치되어 있다고 해서 명령줄의 PHP CLI에 해당 확장 기능도 설치되어 있다는 의미는 아닙니다.
PHP CLI로 설치된 확장 프로그램을 확인하는 방법
php -m을 실행하면 명령줄 PHP CLI로 설치된 확장 프로그램이 나열됩니다. 결과는 다음과 유사합니다.
~# php -m [PHP Modules] libevent posix pcntl ...
위치를 확인하는 방법. PHP CLI의 php.ini 파일
확장 기능을 설치할 때 php.ini 파일을 수동으로 구성하고 확장 기능을 추가해야 할 수도 있으므로 PHP CLI의 php.ini 파일 위치를 확인해야 합니다. . php --ini를 실행하여 PHP CLI의 ini 파일 위치를 찾을 수 있습니다. 결과는 다음과 유사합니다(시스템마다 표시되는 결과는 다를 수 있음).
~# php --ini Configuration File (php.ini) Path: /etc/php5/cli Loaded Configuration File: /etc/php5/cli/php.ini Scan for additional .ini files in: /etc/php5/cli/conf.d Additional .ini files parsed: /etc/php5/cli/conf.d/apc.ini, /etc/php5/cli/conf.d/libevent.ini, /etc/php5/cli/conf.d/memcached.ini, /etc/php5/cli/conf.d/mysql.ini, /etc/php5/cli/conf.d/pdo.ini, /etc/php5/cli/conf.d/pdo_mysql.ini ...
방법 1. apt 또는 yum 명령을 사용하여 설치
PHP가 apt 또는 yum 명령을 통해 설치되면 확장 프로그램은 apt 또는 yum
debian/ubuntu 및 기타 시스템 apt 설치를 통해서도 설치할 수 있습니다. PHP 확장 방법(루트가 아닌 사용자는 sudo 명령을 추가해야 함)
1. apt-cache 검색을 사용하여 확장 패키지
~# apt-cache search memcached php php-apc - APC (Alternative PHP Cache) module for PHP 5 php5-memcached - memcached module for php5
2를 찾습니다. apt-get install을 사용하여 확장 패키지
~# apt-get install -y php5-memcached Reading package lists... Done Reading state information... Done ...
Centos 및 기타 시스템을 설치합니다. yum 설치 PHP 확장 방법
1. yum 검색을 사용하여 확장 패키지
~# yum search memcached php php-pecl-memcached - memcached module for php5
를 찾습니다. 2. yum install을 사용하여 확장 패키지
~# yum install -y php-pecl-memcached Reading package lists... Done Reading state information... Done ...
를 설치합니다. 지침:
apt 또는 yum을 사용하여 PHP 확장을 설치하면 자동으로 PHP가 구성됩니다. .ini 파일을 설치 후 바로 사용할 수 있어 매우 편리합니다. 단점은 일부 확장의 경우 apt 또는 yum에 해당 확장 설치 패키지가 없다는 것입니다.
방법 2. pecl을 사용하여 설치
pecl install 명령을 사용하여 확장 프로그램을 설치합니다
1. pecl install을 사용하여 설치
~# pecl install memcached downloading memcached-2.2.0.tgz ... Starting to download memcached-2.2.0.tgz (70,449 bytes) ....
2를 구성합니다. php.ini 파일의 위치를 찾습니다. php --ini를 실행한 후 파일에 Extension=memcached.so를 추가합니다
방법 3. 소스 코드 컴파일 및 설치 (일반적으로 PHP에 포함된 확장 프로그램을 설치합니다. pcntl 확장 프로그램 설치를 예로 들어 보겠습니다.)1. php -v 명령을 사용하여 현재 PHP CLI 버전
~# php -v PHP 5.3.29-1~dotdeb.0 with Suhosin-Patch (cli) (built: Aug 14 2014 19:55:20) Copyright (c) 1997-2014 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2014 Zend Technologies
2을 확인하세요. 버전에 따라 PHP 소스 코드를 다운로드하세요
PHP 과거 버전 다운로드 페이지: http://php.net/releases/
3. 소스코드 압축 패키지를 풀어주세요
예를 들어, 다운로드한 압축 패키지 이름은 php-5.3.29.tar.gz
~# tar -zxvf php-5.3.29.tar.gz php-5.3.29/ php-5.3.29/README.WIN32-BUILD-SYSTEM php-5.3.29/netware/ ...
4 입니다. 소스코드에 ext/pcntl 디렉토리를 입력하세요
~# cd php-5.3.29/ext/pcntl/
5. phpize 명령
~# phpize Configuring for: PHP Api Version: 20090626 Zend Module Api No: 20090626 Zend Extension Api No: 220090626
6. 구성 명령
~# ./configure checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E ...
7을 실행합니다. make 명령
~# make /bin/bash /tmp/php-5.3.29/ext/pcntl/libtool --mode=compile cc ... -I/usr/include/php5 -I/usr/include/php5/main -I/usr/include/php5/TSRM -I/usr/include/php5/Zend... ...
을 실행합니다. 9. ini 파일을 구성합니다. php.ini 파일의 위치를 찾습니다. php --ini를 실행한 다음 파일에 Extension=pcntl.so를 추가하세요
참고: 이 방법은 일반적으로 posix 확장 및 pcntl 확장과 같은 PHP 확장을 설치하는 데 사용됩니다. phpize를 사용하여 확장 기능을 컴파일하는 것 외에도 전체 PHP를 다시 컴파일하고 컴파일 중에 매개 변수를 사용하여 확장 기능을 추가할 수도 있습니다. 예를 들어 소스 코드 루트 디렉터리
~# make install Installing shared extensions: /usr/lib/php5/20090626/방법 4. phpize 설치
설치할 확장은 php 소스 코드에 있습니다. ext 디렉토리에 없으면 이 확장은 http://pecl.php.net
에서 검색하여 다운로드해야 합니다. libevent 확장 설치를 예로 들어 보겠습니다(가정) 시스템에 libevent-dev 라이브러리가 설치되어 있는지 확인)1. libevent 확장 파일 압축 패키지를 다운로드합니다(원하는 대로 현재 시스템의 디렉터리 다운로드에서). . 소스 코드 디렉토리
~# ./configure --enable-pcntl --enable-posix ... ~# make && make install
4를 실행합니다. phpize 명령
~# wget http://pecl.php.net/get/libevent-0.1.0.tgz --2015-05-26 21:43:40-- http://pecl.php.net/get/libevent-0.1.0.tgz Resolving pecl.php.net... 104.236.228.160 Connecting to pecl.php.net|104.236.228.160|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 9806 (9.6K) [application/octet-stream] Saving to: “libevent-0.1.0.tgz” 100%[=======================================================>] 9,806 41.4K/s in 0.2s
6을 실행합니다. make 명령을 실행합니다.
~# tar -zxvf libevent-0.1.0.tgz package.xml libevent-0.1.0/config.m4 libevent-0.1.0/CREDITS libevent-0.1.0/libevent.c ....
8. ini 파일
php --ini를 실행하여 php.ini 파일의 위치를 찾은 다음 파일에 확장자=libevent.so를 추가하세요
권장 학습:
php 비디오 튜토리얼위 내용은 PHP에 확장 기능을 설치하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!