Oracle Instant Client + PHP on Debian

出典: 2502.net

環境の作り方忘れたのでメモしておく。

前提

  • OracleのDebian packageはi386しかないので使わない。今時32bitとかねーよ。amd64バイナリも用意してくれたら使います。
  • Oracle Instant Clientを使う。ググってtar.gzダウンロードしてバラせばOKだったはず。もう忘れた。ログインとかマジめんどい。一回環境作ったら、既に動いてる環境からrsyncするのが最速インストールだよ!(いいのかそれ)
  • PEAR(pecl)管理下でやる。できればdpkg管理下にしたいけど面倒そうなので諦める。
  • PEAR自体はDebian officialのヤツを使う。
  • Debian GNU/Linux 5.0 (lenny) Debian GNU/Linux 6.0 (squeeze) にて動作確認。

手順

めんどくせーのでコマンドだけ。

### /opt/instantclient に Oracle Instant Client が展開されてるとする。

$ sudo apt-get install php-pear php5-dev
$ sudo pear config-set http_proxy proxyhost:port   # ウチの会社の環境だとproxy要るんだよ
$ sudo env LD_LIBRARY_PATH=/opt/instantclient pecl install oci8
### env 要らねーかも。
Please provide the path to the ORACLE_HOME directory. Use 'instantclient,/path/to/instant/client/lib' if you're compiling with Oracle Instant Client [autodetect] : instantclient,/opt/instantclient  # 言われた通りに入力

$ sudo vi /etc/php/conf.d/oci8.ini
### 以下書く
extension=oci8.so

# mod_php の場合
$ sudo vi /etc/apache2/envvars
### 以下追加
export LD_LIBRARY_PATH=/opt/instantclient
export NLS_LANG=Japanese_Japan.UTF8

# mod_fcgid で動かしてる場合は DefaultInitEnv とか使う。RTFM

ここまでやったら Apache (もしくはPHPを動かしてる環境) を再起動して phpinfo() で動作確認すればいいんじゃなイカ?

個人用ツール