Computer/PHP

PEAR #1 : 패키지 간편설치

알찬돌삐 2012. 8. 10. 16:36

HP의 강력한 기능(?) PEAR에대해서 알아보도록 하겠습니다.

Linux기준이니 Window사용자는 알아서 따라해보도록.. (<--무책임한놈 -_-;;)

'PEAR' 일명 '배'는 PHP의 확장 라이브러리 입니다.

보통 PHP내장 라이브러리같은경우 include없이 그냥 호출 하면되지만,

PEAR같은경우에는 include를 해줘야 합니다.

그러므로 해당 라이브러리를 사용하려면

소스 파일이 있어야하고, 그 소스파일의 소스를 볼수 있습니다.

PEAR소스 분해만으로도 꾀나 공부가 됩니다.

그럼 우선 PEAR설치부터 시작하겠습니다.




라고는 하지만 -_-;; PEAR는 PHP를 설치할때부터 존재합니다.

어디에있냐면..

PHP설치 디렉토리 안에 bin 이라는 디렉토리 안에 있습니다.
(단, 컴파일방법에 따라 위치가 변동되긴 하지만..)

필자는 /usr/local/php에다 설치했기때문에

/usr/local/php/bin

이것이 경로입니다.


그럼 이 경로는 왜 필요하느냐?

PEAR가 설치되어있다고 모든 라이브러리를 쓸수 있는것은 아니기때문입니다.

최초에 존재하는건 기본적은 BASE소스뿐입니다.

http://pear.php.net 를 방문해보면 엄청난 라이브러리들이 많습니다.

그럼 간단하게 PEAR라이브러리 하나를 추가 해보겠습니다.


쉘(SSH)에서 root로 로그인해야합니다.
(웹호스팅 받는분은 안되요.)


위에서 언급했던 PEAR가 설치되어있는 위치로 가서

#cd /usr/local/php/bin


PEAR를 실행시키면 됩니다.

#./pear list
Installed packages, channel pear.php.net:
=========================================
Package                  Version State
Archive_Tar              1.3.2   stable
Console_Getopt           1.2.3   stable
OLE                      0.5     beta
PEAR                     1.6.1   stable
Spreadsheet_Excel_Writer 0.9.1   beta
Structures_Graph         1.0.2   stable


위와 같은 화면을 볼수 있습니다.


그럼 본격적으로 PEAR라이브러리를 받아서 설치해보겠습니다.

먼저 pear패키지를 검색합니다.

# ./pear search DB
Retrieving data...0%....50%....Matched packages, channel pear.php.net:
=======================================
Package                                Stable/(Latest) Local
DB                                     1.7.13 (stable)       Database Abstraction Layer
DBA                                    1.1.1 (stable)        Berkely-style database abstraction class
.
.
.



이런식으로 쭈~욱 나옵니다
(처음에는 좀 오래걸려요.)

그럼 DB패키지를 설치해보겠습니다.

DB패키지에대해서 좀 설명을 하자면,

mysql, postgresql 등의 DB를 저 라이브러리 하나로 다 접속하고 재어할수 있습니다.

서비스 도중에 DB가 바뀌어도 수정하는 수고를 덜어줍니다.

그럼.. 설치 해보겠습니다.

# ./pear install DB
WARNING: "pear/DB" is deprecated in favor of "pear/MDB2"

downloading DB-1.7.13.tgz ...
Starting to download DB-1.7.13.tgz (132,246 bytes)
.............................done: 132,246 bytes
install ok: channel://pear.php.net/DB-1.7.13


설치가 완료되었습니다.

그런대... WARNING: 이란다.

다..당황하지마!! Error도 아니고 Warring이야 -ㅅ-;;

자.. 침착하게 다시 읽어봅시다.

WARNING: "pear/DB" is deprecated in favor of "pear/MDB2"
주의: "pear/DB"가 "pear/MDB2"의 후원이 없습니다.
.
.
.
.
미안합니다.. 허접한 해석입니다 -_-;;


어쨋건 DB패키지를 설치하려면 MDB2패키지가 필요하답니다.

뭐.. 별거 있나? 받으면 되지.



# ./pear install MDB2
downloading MDB2-2.4.1.tgz ...
Starting to download MDB2-2.4.1.tgz (119,790 bytes)
..........................done: 119,790 bytes
install ok: channel://pear.php.net/MDB2-2.4.1
MDB2: Optional feature fbsql available (Frontbase SQL driver for MDB2)
MDB2: Optional feature ibase available (Interbase/Firebird driver for MDB2)
MDB2: Optional feature mysql available (MySQL driver for MDB2)
MDB2: Optional feature mysqli available (MySQLi driver for MDB2)
MDB2: Optional feature mssql available (MS SQL Server driver for MDB2)
MDB2: Optional feature oci8 available (Oracle driver for MDB2)
MDB2: Optional feature pgsql available (PostgreSQL driver for MDB2)
MDB2: Optional feature querysim available (Querysim driver for MDB2)
MDB2: Optional feature sqlite available (SQLite2 driver for MDB2)
MDB2: To install optional features use "pear install pear/MDB2#featurename"



그런대 이번에는 DB패키지 설치때보다 좀 길지 않은가?
잘 보면 지원하는 DB목록입니다.
오라클까지 지원합니다 -_-;;
대단하지 않은가요?!

아무튼... 설치가 완료되었으면 확이해봐야 하겠죠?


# ./pear list
Installed packages, channel pear.php.net:
=========================================
Package                  Version State
Archive_Tar              1.3.2   stable
Console_Getopt           1.2.3   stable
DB                       1.7.13  stable
MDB2                     2.4.1   stable
OLE                      0.5     beta
PEAR                     1.6.1   stable
Spreadsheet_Excel_Writer 0.9.1   beta
Structures_Graph         1.0.2   stable

확실히 DB와 MDB2가 설치 되었습니다.

다음시간에는 PEAR를 직접 사용하는법을 올리도록 하겠습니다.

이 글은 스프링노트에서 작성되었습니다.

.

'Computer > PHP' 카테고리의 다른 글

세마포어(semaphore)와 공유 메모리(shared memory) 함수  (0) 2012.08.10
PEAR #2 : 간단한 사용법  (0) 2012.08.10
configure  (0) 2012.08.10
ajax 의 기본구조  (0) 2012.08.10
CPU 모니터링과 튜닝  (0) 2012.08.10