Phusion PassengerとOCI8
まだ4月なのに五月病(?)のflymanです。体調ボロボロです。
さて引き続きRuby on RailsでOracle DBとAS400のDB2にアクセスするプログラムを書いているが、開発環境ではうまく動くのに本番(のトライアル)環境で動いてくれなかった。本番はApache+Phusion Passengerなのだが、どうやらこの環境でruby-oci8が動かないようだ。
原因は予想通り、環境変数の設定不足だった。すでにinit.d内のhttpdスクリプトでLD_LIBRARY_PATHとNLS_LANGは設定していたのだが、TNS_ADMINも設定が必要だったようだ。念のためORACLE_HOMEも設定しておいた。
# service httpd restart
で、無事に動き出した。
で。
環境変数のセットをinit.d/httpdスクリプトに書くのは止めて、apacheのSetEnvディレクティブを使うことにした。
/etc/httpd/conf.d/passenger.confに、
SetEnv ORACLE_HOME /opt/Oracle
SetEnv LD_LIBRARY_PATH /opt/Oracle
SetEnv TNS_ADMIN /opt/Oracle
SetEnv NLS_LANG JAPANESE_JAPAN.UTF8
を記述した。すっきり。
TrackBacks
TrackBack URL : http://www.kestrel.jp/modules/wordpress/wp-trackback.php/895
この投稿には、まだコメントが付いていません