설치 확장
주의하다.
아파치+와PHP 또는 Nginx+PHP의 동작모드가 다르고 WorkerMan은 PHP 커맨드라인 PHP CLI를 기반으로 동작하며 PHP 실행 프로그램이 다르며 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
...
PHP CLI에 확장 설치(memcached 확장 설치 예)
방법 1.apt 또는 yum 명령을 사용하여 설치
만약 PHP가 apt나 yum 명령을 통해 설치된다면, 확장도 가능합니다.apt나 yum을 통해서 설치할 수 있습니다
debian/ubuntu 등의 시스템 apt 설치 PHP 확장 방법(비)루트 사용자가 sudo 명령을 넣어야 함)
1,apt-cache search를 이용한 확장팩 찾기
~# 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 search를 이용한 확장팩 찾기
~# 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 -- i를 실행하여ni가 php.ini 파일의 위치를 찾은 다음 extension= memcached.so을 파일에 추가합니다.
방법 3. 소스 코드 컴파일 설치 (1).보통 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 명령 실행
~# ./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...
...
8, make install 명령 실행
~# make install
Installing shared extensions: /usr/lib/php5/20090626/
9.ini 파일 설정
php를 실행하여 --ini가 php.ini 파일의 위치를 찾은 다음 extension=pcntl.so을 파일에 추가합니다.
설명: 이 방법은 일반적으로 사용됩니다.posix 확장, pcntl 확장과 같은 PHP 자체 확장을 설치합니다.phpize로 어떤 확장을 컴파일하는 것 외에도 전체 P를 다시 컴파일할 수 있습니다HP, 소스 루트 디렉터리에서 실행할 때 매개 변수로 확장하기
~# ./configure --enable-pcntl --enable-posix ...
~# make && make install
방법 4. phpize 설치
php 소스에 설치할 확장자코드 ext 디렉터리에 없습니다. http://pecl.php.net에서 검색하여 다운로드하십시오.
libevent 확장을 설치하기 위해예(시스템이 libvent-dev 라이브러리를 설치했다고 가정)
1.라이브벤트 다운로드 확대압축 파일 패키지 확장 (현재 시스템의 어떤 디렉터리에서 다운로드 가능)
~# 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
2. 확장팩 압축 풀기
~# 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
....
3. 소스 디렉터리로 이동
~# cd libevent-0.1.0/
4. phpize 명령 실행
~# phpize
Configuring for:
PHP Api Version: 20090626
Zend Module Api No: 20090626
Zend Extension Api No: 220090626
5.configure 명령 실행
~# ./configure
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for a sed that does not truncate output... /bin/sed
checking for cc... cc
checking whether the C compiler works... yes
...
6. make 명령 실행
~# /bin/bash /data/test/libevent-0.1.0/libtool --mode=compile cc -I. -I/data/test/libevent-0.1.0 -DPHP_ATOM_INC -I/data/test/libevent-0.1.0/include
...
7. make install 명령 실행
~# make install
Installing shared extensions: /usr/lib/php5/20090626/
8,ini 파일 설정
php를 실행하여 --ini가 php.ini 파일의 위치를 찾은 다음 extension=libevent.so을 파일에 추가합니다.
'개발 꿀팁 > PHP' 카테고리의 다른 글
php 자동 로딩 메커니즘 구현 (0) | 2022.07.05 |
---|---|
php soap에 대한 자세한 정보 웹 서비스 구현 (0) | 2022.07.04 |
PHP를 이용하여 간단한 양식을 작성하다 (0) | 2022.07.04 |
PHP 파일 (0) | 2022.07.04 |
apache에서 php5와 php7을 전환하는 방법 (0) | 2022.07.04 |