2010年9月1日水曜日

PHPからOracleへの接続

CentOSにPHPのOCI8とPDO_OCIとOracle11gをインストールした時からログに下記の2つが出力されていた。
  • 「PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/modules/oci8.so' - libclnsh.so.11.1: cannot open shared object file: No such file or directory in Unknown on line 0」
  • 「PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/modules/pdo_oci.so' - libclnsh.so.11.1: cannot open shared object file: No such file or directory in Unknown on line 0」
 とりあえず、PHPからOracleへ接続しないので放置しておいたが、今回Firefoxがやたら落ちるのでログを確認していたら気になるので対処することにしました。

 このエラーは、ダイナミックリンクライブラリである oci8.so や pco_oci から libclnsh.so.11.1 が参照できないことを告げています。 よって、ダイナミックリンクライブラリが参照できるように、LD_LIBRARY_PATHに追加すればよいことになります。
(手順)
  • libclnsh.so.11.1のディレクトリを確認する。
  • /etc/ld.so.conf.dに上記のパスを記載したファイル(oracle11g.conf)を作成する。
    (oracle11g.confの記載内容:/usr/oracle/app/product/11.1.0/db_1/lib)
  • ldconfigを実行してld.so.cacheを再構築します。
  • httpdを再起動してログを確認します。
以上で、やっと余計なログが解消されました。(笑)

0 件のコメント:

コメントを投稿