CentOSからOracleへ接続
Nov 3, 2016 · serverphpdbcentos
CentOSのPHP5.6から別サーバで動いているOracleのDBへoci8で接続する方法
Macの場合はこちら
手順
Oracleのドライバのインストール
サーバのアーキテクチャを確認
uname -aOracle Instant Clientから 1で確認した環境の
basicとSDKをダウンロードしサーバへ保存
(今回はx86_64だったのでVersion 12.1.0.2 (x86_64)のrpmを選択。以降このバージョンが前提)以下でインストール
cd (保存した場所) su rpm -ivh oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm rpm -ivh oracle-instantclient12.1-devel-12.1.0.2.0-1.x86_64.rpmパスを通す
vi /etc/profile # 以下の行を追加 export LD_LIBRARY_PATH=/usr/lib/oracle/12.1/client64/lib:$LD_LIBRARY_PATH export PATH=/usr/lib/oracle/12.1/client64/bin:$PATH追記したら保存して終了し
source /etc/profileで強制反映させる
peclのインストール
- 以下でインストール
yum -y install --enablerepo=remi --enablerepo=remi-php56 php-pear
oci8のインストール
peclからインストールするのでDTraceサポートを有効にするyum -y install systemtap-sdt-devel export PHP_DTRACE=yesちなみにこれをしないと
error: oci8_dtrace_gen.h: No such file or directorというエラーになる。 詳細はこちらoci8をバージョン(Ver.2.0.12)を指定してインストールpecl install oci8-2.0.12oci8の最新版だとPHP7以降の為、2.0系を指定する
インストール中にプロンプトが出れば、
instantclient,/usr/lib/oracle/12.1/client64/libと入力
PHPの設定
php.iniに以下を設定extension=oci8.so(場所が判らない時は
php -i | grep php.ini)設定の確認
php --ri oci8を実行して、
(略) OCI8 Support => enabled (略) OCI8 Version => 2.0.12 (略) Oracle Run-time Client Library Version => 12.1.0.2.0 Oracle Compile-time Instant Client Version => 12.1と出ていればOK
PHPからの接続
Macの場合のPHPからの接続を参照
参考リンク
- PHP公式 Oracle OCI8
- Pecl公式 oci8
- Orcale Instant Client (下の方にインストール方法)
開発環境
- CentOS6.8
- PHP 5.6.27 + OCI8 2.0.12
- Oracle Instant Client 12.1.0.2.0
- DBサーバ OracleDB(Win)
