사용자 도구

사이트 도구


develop:php:oracle_module

차이

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

차이 보기로 링크

다음 판
이전 판
develop:php:oracle_module [2017/12/27 00:58]
starlits 만듦
develop:php:oracle_module [2018/04/10 00:56] (현재)
starlits [한방에 설치]
줄 8: 줄 8:
   - php dev <code># apt-get install php7.0-dev </code>   - php dev <code># apt-get install php7.0-dev </code>
   - build essential <code># apt-get install build-essential libaio1 </code>   - build essential <code># apt-get install build-essential libaio1 </code>
 +
 +==== 한방에 설치 ====
 +<code> # apt-get install apache2 php php-mysql php-xmlrpc php-xml php-curl php-gd php-pear libapache2-mod-php7.0 php7.0-dev build-essential libaio1 unzip </code>
  
 ===== apache2 설정 ===== ===== apache2 설정 =====
줄 13: 줄 16:
  
 ===== oracle instantclient 설치 및 설정 ===== ===== oracle instantclient 설치 및 설정 =====
 +
 +==== oracle instant 다운로드 ====
   - http://oracle.com 에서 다운로드 받는다.    - http://oracle.com 에서 다운로드 받는다. 
 +    - [[ http://adminschool.net/admin_data/oracle_instant/instantclient-basic-linux.x64-11.2.0.4.0.zip | instantclient-basic-linux.x64-11.2.0.4.0.zip ]] (필수)
 +    - [[ http://adminschool.net/admin_data/oracle_instant/instantclient-jdbc-linux.x64-11.2.0.4.0.zip | instantclient-jdbc-linux.x64-11.2.0.4.0.zip ]]
 +    - [[ http://adminschool.net/admin_data/oracle_instant/instantclient-odbc-linux.x64-11.2.0.4.0.zip | instantclient-odbc-linux.x64-11.2.0.4.0.zip ]]
 +    - [[ http://adminschool.net/admin_data/oracle_instant/instantclient-sdk-linux.x64-11.2.0.4.0.zip | instantclient-sdk-linux.x64-11.2.0.4.0.zip ]] (필수)
 +    - [[ http://adminschool.net/admin_data/oracle_instant/instantclient-sqlplus-linux.x64-11.2.0.4.0.zip | instantclient-sqlplus-linux.x64-11.2.0.4.0.zip ]]
 +    - [[ http://adminschool.net/admin_data/oracle_instant/instantclient-tools-linux.x64-11.2.0.4.0.zip | instantclient-tools-linux.x64-11.2.0.4.0.zip ]]
 +
 +==== oracle instant 설정 ====
 +  - 압축해제 <code>
 +# unzip instantclient-basic-linux.x64-11.2.0.4.0.zip 
 +# unzip instantclient-sdk-linux.x64-11.2.0.4.0.zip 
 +</code>
 +  - 압축해제 폴더이동 <code># mv instantclient_11_2/ /usr/local/ </code>
 +  - 디렉토리 이동 <code># cd /usr/local/instantclient_11_2/ </code>
 +  - 심볼릭링크 생성 <code>
 +# ln -s /usr/local/instantclient_11_2/libclntsh.so.11.1 /usr/local/instantclient_11_2/libclntsh.so
 +# ln -s /usr/local/instantclient_11_2/libocci.so.11.1 /usr/local/instantclient_11_2/libocci.so
 +</code>
 +  - LD 설정파일 생성 <code># echo /usr/local/instantclient_11_2 > /etc/ld.so.conf.d/oracle-instantclient </code>
 +  - LD 설정적용 <code> # ldconfig </code>
 +  - 필요에 따라서 BASH 파일에 설정한다 <code>
 +$ vi ~/.bashrc
 +...
 +export DYLD_LIBRARY_PATH="/usr/local/instantclient_11_2"
 +export TNS_ADMIN="/usr/local/instantclient_11_2"
 +export ORACLE_HOME="/usr/local/instantclient_11_2"
 +...
 +</code>
 +
 +
 +===== OCI8 설치 및 설정 =====
 +  - [[ develop:php:oci8_install | Enabling the PHP OCI8 Extension on Debian(Unbuntu) ]] 참조
 +  - https://pecl.php.net/package/oci8 에서 최신버젼을 다운로드 받는다.<code>
 +# wget https://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>
 +$ ls /usr/local/instantclient_11_2/libclntsh.so
 +/usr/local/instantclient_11_2/libclntsh.so
 +</code>
 +  - 환경설정을 맞춰서 컴파일을 한다. <code>
 +$ ./configure --with-oci8=instantclient,/usr/local/instantclient_11_2
 +</code>
 +  - make 와 make test 를 실행한다. <code>
 +# make
 +# make test
 +</code>
 +  - make install 를 실행한다. \\ root가 아닐 경우 퍼미션 에러가 날 수 있다, 이때에는 sudo 를 같이 써준다. <code>
 +# make install  # root 일때
 +또는 
 +$ sudo make install  # sudo 권한을 가진 user 일때
 +</code>
 +  - oci8.so 파일을 확인한다 <code>
 +# ls /usr/local/instantclient_11_2/oci8.so
 +/usr/local/oracle/instantclient_11_2/oci8.so
 +# ls /usr/lib/php/20151012/oci8.so 
 +/usr/lib/php/20151012/oci8.so
 +</code>
 +  - /etc/php/7.0/apache2/php.ini 파일에 oci8.so 를 등록한다 <code>
 +# vi /etc/php/7.0/apache2/php.ini
 +...
 +extension=oci8.so
 +...
 +</code> 
 +  - apache2 를 재시작한다. <code> # /etc/init.d/apache2 restart </code>
 +  - oci8.so 모듈을 확인해 본다. (이 방법은 확인이 안될때도 있다) <code>
 +# php -m | grep oci8
 +oci8
 +</code>
 +  - phpinfo(); 를 이용하여 웹에서 확인을 할 수도 있다.  
 +
develop/php/oracle_module.1514303926.txt.gz · 마지막으로 수정됨: 2017/12/27 00:58 저자 starlits