2016-12-04 7 views
1

oci8モジュールに問題があります。私は、Oracle Instant Clientの基本とSDKパッケージをダウンロード php oci8モジュールがロードされていません(ubuntu 16)

  • : (オラクル-instantclient11.2-

    OSは、Apache 2.4とPHP 5.6

    I行い、次の手順で、Ubuntuの16ですbasic-11.2.0.4.0-1.x86_64.rpm、 oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm)

  • Oracle Instant Clientをインストールします(.rpmを.deb)
  • OCI8をダウンロードするmodulesディレクトリ(は/ usr/libに/ PHP/20131226 /)
  • 編集php.iniファイルと拡張子を追加するoci8.so PECLから拡張(oci8-2.0.12)
  • PHP OCI8モジュールをビルドコピーフルパスで(拡張子は=は/ usr/libに/ PHP/20131226/oci8.so)
  • 私は、環境変数LD_LIBRARY_PATH =は/ usr/libに/オラクル/ 11.2 /クライアント/ libに
  • を再起動するには、Oracleライブラリのパスを追加しましたApache

モジュールがロードされず、Apacheログに次のエラーが表示されます。

Unable to load dynamic library '/usr/lib/php/20131226/oci8.so' - libaio.so.1: cannot open shared object file: No such file or directory in Unknown on line 0

+0

ファイルoci8.soへのプロセス・アクセスはできますか? chmodの属性は良いですか? –

+0

ありがとうございました@Alexandre T、私はそれが他のPHPモジュールのような属性だと思います、 '-rwxr-xr-x 1 root root 624416 Dec 3 15:42 oci8.so'(ex。 '-rw-r - r-- 1ルートルート1463904 Nov 14 05:35 mbstring.so -rw-r - r-- 1ルートルート47256 Nov 14 05:35 mcrypt.so -rw-r- -r-- 1 root root 55432 Nov 14 05:35 mysql.so' –

+0

実行可能フラグを削除するとどうなりますか? 'chmod a-x oci8.so' バグはまだ残っていますか? –

答えて

0

問題はlibaio.soライブラリから@Alexandreが言ったように、32/64ビットの不一致です。再びライブラリlibaio.soインストールした後https://stackoverflow.com/a/10619763/1995358

問題を解決:

は私が@Codo答えから問題を発見

sudo apt-get install libaio1

0

LD_LIBRARY_PATHが、Apacheの場合は、おそらくApacheのenvvarsファイルに設定されていることを確認してください。また、マシンに他のOracleソフトウェアがない場合は、ldconfigを更新することもできます。無料でたくさんの情報がありますUnderground PHP & Oracle Manual

12.1 Instant Clientを使用しない理由は何ですか?これにより、Oracle DB 10.2以降に接続できます。

また、なぜRPMを変換して出力をユーザーディレクトリに移動したのですか?単にInstant Client zipファイルをダウンロードして解凍するだけではどうですか?ダウンロードページの指示に記載されているシンボリックリンクを追加するだけです。

関連する問題