PHP에서 PostgreSQL 사용

PHP에서 PostgreSQL 사용하기
PHP pgsql 사용하기

1 확인[ | ]

1.1 php.ini 위치 확인[ | ]

[root@zetawiki ~]# php -i | grep php.ini
Configuration File (php.ini) Path => /etc/php.ini

→ php.ini는 /etc에 있다.

1.2 extension 폴더 확인[ | ]

  • 먼저 extension이 설치될 위치를 확인한다.
[root@zetawiki ~]# php -r "phpinfo();" | grep ^extension
extension_dir => /usr/lib64/php/modules => /usr/lib64/php/modules
→ 각종 extension들은 /usr/lib64/php/modules에 설치되어 있다.

1.3 so 파일 확인[ | ]

해당 폴더에 pdo.so 와 pdo_pgsql.so 파일이 있는지 확인한다.

[root@zetawiki ~]# ll /usr/lib64/php/modules/ | grep pdo
-rwxr-xr-x 1 root root   28264 Feb 12  2010 pdo_mysql.so
-rwxr-xr-x 1 root root   92464 Feb 12  2010 pdo.so
-rwxr-xr-x 1 root root   24200 Feb 12  2010 pdo_sqlite.so

→ pdo_pgsql.so 파일이 없다.

2 설치[ | ]

[root@zetawiki ~]# yum install php-pgsql -y
... (생략)
====================================================================================================
 Package                     Arch               Version                      Repository        Size
====================================================================================================
Installing:
 php-pgsql                   x86_64             5.3.3-3.el6_2.8              Daum              68 k
Installing for dependencies:
 postgresql-libs             x86_64             8.4.11-1.el6_2               Daum             198 k

Transaction Summary
====================================================================================================
Install       2 Package(s)

Total download size: 266 k
Installed size: 763 k
Downloading Packages:
(1/2): php-pgsql-5.3.3-3.el6_2.8.x86_64.rpm                                  |  68 kB     00:00     
(2/2): postgresql-libs-8.4.11-1.el6_2.x86_64.rpm                             | 198 kB     00:00     
----------------------------------------------------------------------------------------------------
Total                                                               1.6 MB/s | 266 kB     00:00     
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : postgresql-libs-8.4.11-1.el6_2.x86_64                                            1/2 
  Installing : php-pgsql-5.3.3-3.el6_2.8.x86_64                                                 2/2 

Installed:
  php-pgsql.x86_64 0:5.3.3-3.el6_2.8                                                                

Dependency Installed:
  postgresql-libs.x86_64 0:8.4.11-1.el6_2                                                           

Complete!

3 설치 확인[ | ]

[root@zetawiki ~]# rpm -qa | grep pgsql
php-pgsql-5.3.3-3.el6_2.8.x86_64
[root@zetawiki ~]# ll /usr/lib64/php/modules/ | grep pdo
-rwxr-xr-x 1 root root   30016 May  8 04:17 pdo_mysql.so
-rwxr-xr-x 1 root root   37056 May  8 04:17 pdo_pgsql.so
-rwxr-xr-x 1 root root  102456 May  8 04:17 pdo.so
-rwxr-xr-x 1 root root   24640 May  8 04:17 pdo_sqlite.so
→ pdo_pgsql.so 파일이 설치되었다.

4 httpd 재시작[ | ]

[root@zetawiki ~]# service httpd restart
Stopping httpd:                                            [  OK  ]
Starting httpd:                                            [  OK  ]

5 pdo_pgsql 확인[ | ]

[root@zetawiki ~]# php -i | grep pdo_pgsql
/etc/php.d/pdo_pgsql.ini,
pdo_pgsql
Revision =>  $Id: pdo_pgsql.c 300351 2010-06-10 12:11:19Z iliaa $
→ 설정도 정상적으로 되어 있다.

6 PHP 수행 확인[ | ]

[root@zetawiki ~]# php -r "pg_connect();"
PHP Warning:  Wrong parameter count for pg_connect() in Command line code on line 1

Warning: Wrong parameter count for pg_connect() in Command line code on line 1
→ pg_connect 명령어를 인식한다. 이제 PHP 코딩을 시작하면 된다.

7 같이 보기[ | ]

8 참고[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}