사용자 도구

사이트 도구


develop:php:oci8_install

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

다음 판
이전 판
develop:php:oci8_install [2017/12/27 01:22]
starlits 만듦
develop:php:oci8_install [2020/03/08 15:41] (현재)
starlits [OCI8 Install]
줄 1: 줄 1:
 ====== Enabling the php oci8  ====== ====== Enabling the php oci8  ======
 +
 +===== APT install =====
 +  - php 관련 패키지를 설치한다. <code>
 +# apt-get install build-essential libaio1 
 +</code>
 +  - php 패키지를 설치 (ubuntu 18.04 ) <code>
 +# apt-get install libapache2-mod-php7.2 php7.2 php7.2-dev apache2
 +</code> \\ ubuntu 16.04 일 경우에는 아래의 명령어로 설치 <code>
 +# apt-get install libapache2-mod-php7.0 php7.0 php7.0-dev apache2
 +</code>
  
 ===== Oracle Installed ===== ===== Oracle Installed =====
  
-설치되어 있는 오라클 정보이다.+==== Oracle Server ====
  
-^ ORACLE_BASE | /u01/app/oracle +^ ORACLE_BASE | /usr/local/instantclient_11_2 
-^ ORACLE_HOME | $ORACLE_BASE/product/10.2.0 |  +^ ORACLE_HOME | /usr/local/instantclient_11_2 |  
-^ LD_LIBRARY_PATH |  $ORACLE_HOME/lib:$ORACLE_HOME/jdbc/lib |+^ LD_LIBRARY_PATH | /usr/local/instantclient_11_2 |
  
 +==== Oracle Instant ====
 +  - [[dbms:oracle:admin:instantclient | Oracle Instant 설치방법 ]]
 +  - bash 설정 <code>
 +# vi /etc/bash_completion.d/oracle
 +export ORACLE_BASE="/usr/local/instantclient_11_2"
 +export ORACLE_HOME="/usr/local/instantclient_11_2"
 +export LD_LIBRARY_PATH="/usr/local/instantclient_11_2"
 +</code>
 +  - /etc/environment <code>
 +...
 +LD_LIBRARY_PATH=/usr/local/instantclient_11_2:$LD_LIBRARY_PATH
 +</code>
 +  - <code>
 +echo /usr/local/instantclient_11_2 > /etc/ld.so.conf.d/oracle-instantclient.conf
 +</code>
 ===== OCI8 Install ===== ===== OCI8 Install =====
  
   - http://pecl.php.net/package/oci8 에서 최신버젼을 다운로드 받는다. <code>   - http://pecl.php.net/package/oci8 에서 최신버젼을 다운로드 받는다. <code>
-$ wget http://pecl.php.net/get/oci8-2.0.8.tgz+$ wget http://pecl.php.net/get/oci8-2.1.8.tgz
 </code> </code>
   - 압축을 해제한다. <code>   - 압축을 해제한다. <code>
-$ tar xvfz oci8-2.0.8.tgz+$ tar xvfz oci8-2.1.8.tgz
 </code> </code>
   - 소스경로로 이동한다. <code>   - 소스경로로 이동한다. <code>
-$ cd oci8-2.0.8/+$ cd oci8-2.1.8/
 </code> </code>
   - PHP 확장모듈을 위한 빌드환경을 만들기 위해 phpize 를 실행한다. <code>   - PHP 확장모듈을 위한 빌드환경을 만들기 위해 phpize 를 실행한다. <code>
줄 24: 줄 49:
 </code> </code>
   - libclntsh.so 경로를 확인한다. <code>   - libclntsh.so 경로를 확인한다. <code>
 +# oracle server 설정
 $ ls $ORACLE_HOME/lib/libclntsh.so $ ls $ORACLE_HOME/lib/libclntsh.so
 /u01/app/oracle/product/10.2.0/lib/libclntsh.so /u01/app/oracle/product/10.2.0/lib/libclntsh.so
 +or
 +# oracle instant client 설정
 +$ ls $ORACLE_HOME/libclntsh.so
 +/usr/local/instantclient_11_2/libclntsh.so
 +</code> 링크가 제대로 존재하는지 확인 <code>
 +$ cd $ORACLE_HOME
 +$ ln -s /usr/local/instantclient_11_2/libocci.so.11.1 libocci.so
 +$ ln -s /usr/local/instantclient_11_2/libclntsh.so.11.1 libclntsh.so
 </code> </code>
   - 환경설정을 맞춰서 컴파일을 한다. \\ --with-oci8 에 상황에 맞게 shared 와 instantclient 를 붙여준다. <code>   - 환경설정을 맞춰서 컴파일을 한다. \\ --with-oci8 에 상황에 맞게 shared 와 instantclient 를 붙여준다. <code>
줄 31: 줄 65:
 $ ./configure --with-oci8=instantclient,$ORACLE_HOME $ ./configure --with-oci8=instantclient,$ORACLE_HOME
 $ ./configure --with-oci8=shared,instantclient,$ORACLE_HOME $ ./configure --with-oci8=shared,instantclient,$ORACLE_HOME
-</code> +</code> --with-oci8=instantclient,$ORACLE_HOME 으로 진행 
 +  - make <code> 
 +$ make 
 +</code>
   - make install 를 실행한다. \\ root가 아닐 경우 퍼미션 에러가 날 수 있다, 이때에는 sudo 를 같이 써준다. <code>   - make install 를 실행한다. \\ root가 아닐 경우 퍼미션 에러가 날 수 있다, 이때에는 sudo 를 같이 써준다. <code>
 $ make install $ make install
줄 61: 줄 98:
 Installing shared extensions:     /usr/lib/php5/20090626+lfs/ Installing shared extensions:     /usr/lib/php5/20090626+lfs/
 </code> </code>
 +  - /etc/php/7.2/apache2/php.ini 에서 oci8을 확인한다. <code>
 +# vi /etc/php/7.2/apache2/php.ini
 +...
 +;extension=oci8_12c  ; Use with Oracle Database 12c Instant Client
 +;extension=odbc
 +;extension=openssl
 +;extension=pdo_firebird
 +;extension=pdo_mysql
 +;extension=pdo_oci
 +;extension=pdo_odbc
 +;extension=pdo_pgsql
 +;extension=pdo_sqlite
 +;extension=pgsql
 +;extension=shmop
 +extension=oci8
 +...
 +</code>
 +  - /etc/php/7.2/cli/php.ini 에서 oci8을 확인한다. \\ cli 설정시 php -m 으로 설치모듈을 확인할 수 있다. <code>
 +# vi /etc/php/7.2/cli/php.ini
 +...
 +extension=oci8
 +..
 +</code> <code>
 +# php -m | grep oci8
 +oci8
 +</code>
 +  - apache2 재시작 
 +  - phpinfo 로 확인 
  
develop/php/oci8_install.1514305351.txt.gz · 마지막으로 수정됨: 2017/12/27 01:22 저자 starlits