본문 바로가기

3-1. Linux/::Configuration::

Apache PHP Oracle 연동 하기

그럼 일단 yum을 이용해서.. php를 깔끔하게 지워보기로 한다.
  [root@Oracle php-4.4.8]# yum erase php

Dependencies Resolved

=============================================================================
 Package                 Arch       Version          Repository        Size
=============================================================================
Removing:
 php                     i386       4.3.9-3.15       installed         3.2 M
Removing for dependencies:
 php-imap                i386       4.3.9-3.15       installed          83 k
 php-ldap                i386       4.3.9-3.15       installed          39 k
 php-mysql               i386       4.3.9-3.15       installed          40 k
 php-odbc                i386       4.3.9-3.15       installed          55 k
 php-pear                i386       4.3.9-3.15       installed         1.2 M
 php-pgsql               i386       4.3.9-3.15       installed          80 k

Transaction Summary
=============================================================================
Install      0 Package(s)        
Update       0 Package(s)        
Remove       7 Package(s)        
Total download size: 0
Is this ok [y/N]:


Apache PHP Mysql 등 등 등  모든것을 컴파일하는것은 삽질이라 생각하고, PHP만 컴파일 하기로 한다.
Apache가 DSO모듈형식으로 깔렸길 바라면서..
CentOS에서 디폴트로 설치된 부분을 긁어서.. 그대로 쓰고, 마지막에 --with-oci8 만 추가해준다.
  [root@Oracle php-4.4.8]# './configure' '--build=i686-redhat-linux-gnu' '--host=i686-redhat-linux-gnu' '--target=i386-redhat-linux-gnu' '--program-prefix=' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib' '--libexecdir=/usr/libexec' '--localstatedir=/var' '--sharedstatedir=/usr/com' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--cache-file=../config.cache' '--with-config-file-path=/etc' '--with-config-file-scan-dir=/etc/php.d' '--enable-force-cgi-redirect' '--disable-debug' '--enable-pic' '--disable-rpath' '--enable-inline-optimization' '--with-bz2' '--with-db4=/usr' '--with-curl' '--with-exec-dir=/usr/bin' '--with-freetype-dir=/usr' '--with-png-dir=/usr' '--with-gd=shared' '--enable-gd-native-ttf' '--without-gdbm' '--with-gettext' '--with-ncurses=shared' '--with-gmp' '--with-iconv' '--with-jpeg-dir=/usr' '--with-openssl' '--with-png' '--with-pspell' '--with-xml' '--with-expat-dir=/usr' '--with-dom=shared,/usr' '--with-dom-xslt=/usr' '--with-dom-exslt=/usr' '--with-xmlrpc=shared' '--with-pcre-regex=/usr' '--with-zlib' '--with-layout=GNU' '--enable-bcmath' '--enable-exif' '--enable-ftp' '--enable-magic-quotes' '--enable-sockets' '--enable-sysvsem' '--enable-sysvshm' '--enable-track-vars' '--enable-trans-sid' '--enable-yp' '--enable-wddx' '--with-pear=/usr/share/pear' '--with-imap=shared' '--with-imap-ssl' '--with-kerberos' '--with-ldap=shared' '--with-mysql=shared,/usr' '--with-pgsql=shared' '--with-snmp=shared,/usr' '--with-snmp=shared' '--enable-ucd-snmp-hack' '--with-unixODBC=shared,/usr' '--enable-memory-limit' '--enable-shmop' '--enable-calendar' '--enable-dbx' '--enable-dio' '--enable-mbstring=shared' '--enable-mbstr-enc-trans' '--enable-mbregex' '--with-mime-magic=/usr/share/file/magic.mime' '--with-apxs2=/usr/sbin/apxs' --with-oci8

make && make install 실행
[root@Oracle php-4.4.8]#  make && make install

httpd파일에서 AddType application/x-httpd-php .php .php3 .php4 를 추가한다.
  [root@Oracle php-4.4.8]# vi /etc/httpd/conf/httpd.conf
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
AddType application/x-httpd-php .php .php3 .php4


에러 검출 1.
[root@Oracle php-4.4.8]#  make && make install
error while loading shared libraries: libclntsh.so.9.0: cannot open shared object file: No such file or directory


아래와 같이 ld.so.conf의 가장 상단에다 추가하고 #ldconfig를 실행한다.
[root@Oracle php-4.4.8]# vi  /etc/ld.so.conf
    $ORACLE_HOME/lib
    :wq

 [root@Oracle php-4.4.8]# ldconfig

에러 검출 2.
php에서 Oracle9i를 인식못한다는 첩보.. 확인안됨.. 아래와 같이 하면 해결은 된다고함.
[root@ip4Oracle lib]# ln -s libclntsh.so.9.0 libclntsh.so.8.0