내용으로 건너뛰기
adminschool.net wiki
사용자 도구
로그인
사이트 도구
검색
도구
문서 보기
이전 판
역링크
최근 바뀜
미디어 관리자
사이트맵
로그인
>
최근 바뀜
미디어 관리자
사이트맵
추적:
•
olap
•
undo
•
bash
•
ruby
•
2week_1
•
vcs
•
toc
•
tableindexsinglebody
develop:php:oci8_install
이 문서는 읽기 전용입니다. 원본을 볼 수는 있지만 바꿀 수는 없습니다. 문제가 있다고 생각하면 관리자에게 문의하세요.
====== 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 Server ==== ^ ORACLE_BASE | /usr/local/instantclient_11_2 | ^ ORACLE_HOME | /usr/local/instantclient_11_2 | ^ 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 ===== - http://pecl.php.net/package/oci8 에서 최신버젼을 다운로드 받는다. <code> $ wget http://pecl.php.net/get/oci8-2.1.8.tgz </code> - 압축을 해제한다. <code> $ tar xvfz oci8-2.1.8.tgz </code> - 소스경로로 이동한다. <code> $ cd oci8-2.1.8/ </code> - PHP 확장모듈을 위한 빌드환경을 만들기 위해 phpize 를 실행한다. <code> $ phpize </code> - libclntsh.so 경로를 확인한다. <code> # oracle server 설정 $ ls $ORACLE_HOME/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> - 환경설정을 맞춰서 컴파일을 한다. \\ --with-oci8 에 상황에 맞게 shared 와 instantclient 를 붙여준다. <code> $ ./configure --with-oci8=$ORACLE_HOME (default) $ ./configure --with-oci8=instantclient,$ORACLE_HOME $ ./configure --with-oci8=shared,instantclient,$ORACLE_HOME </code> --with-oci8=instantclient,$ORACLE_HOME 으로 진행 - make <code> $ make </code> - make install 를 실행한다. \\ root가 아닐 경우 퍼미션 에러가 날 수 있다, 이때에는 sudo 를 같이 써준다. <code> $ make install $ sudo make install [sudo] password for starlits: /bin/bash /home/starlits/src/opensources/oci8-2.0.8/libtool --mode=install cp ./oci8.la /home/starlits/src/opensources/oci8-2.0.8/modules libtool: install: cp ./.libs/oci8.so /home/starlits/src/opensources/oci8-2.0.8/modules/oci8.so libtool: install: cp ./.libs/oci8.lai /home/starlits/src/opensources/oci8-2.0.8/modules/oci8.la libtool: finish: PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin:/sbin" ldconfig -n /home/starlits/src/opensources/oci8-2.0.8/modules ---------------------------------------------------------------------- Libraries have been installed in: /home/starlits/src/opensources/oci8-2.0.8/modules If you ever happen to want to link against installed libraries in a given directory, LIBDIR, you must either use libtool, and specify the full pathname of the library, or use the `-LLIBDIR' flag during linking and do at least one of the following: - add LIBDIR to the `LD_LIBRARY_PATH' environment variable during execution - add LIBDIR to the `LD_RUN_PATH' environment variable during linking - use the `-Wl,-rpath -Wl,LIBDIR' linker flag - have your system administrator add LIBDIR to `/etc/ld.so.conf' See any operating system documentation about shared libraries for more information, such as the ld(1) and ld.so(8) manual pages. ---------------------------------------------------------------------- Installing shared extensions: /usr/lib/php5/20090626+lfs/ </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.txt
· 마지막으로 수정됨: 2020/03/08 15:41 저자
starlits
문서 도구
문서 보기
이전 판
역링크
맨 위로