1

Linux マシンに xampp をインストールしました。PHP用のoci8 oracle 11g拡張機能を追加したいです。私がやること:

[root@cpcolvir bin]# /opt/lampp/lampp oci8
Please enter the path to your Oracle or Instant Client installation:
[/opt/oracle] /usr/lib/oracle/11.2/client64/lib/

しかし、それは私にエラーを与えます:

Can't find libclntsh.so. Sorry.

しかし、libclntsh.so/usr/lib/oracle/11.2/client64/lib/にあることは確かです。私が間違っていることは何ですか?

4

3 に答える 3

2

Oracle InstantClient のインストール後、ライブラリ パスを設定し、最後のバックスラッシュを削除する必要があります。

export LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib:$LD_LIBRARY_PATH

oci8を再インストールします

pecl install oci8

さらに追加してphp.ini(my is at /etc/php5/apache2/php.ini)を編集します

extension=oci8.so

Apacheを再起動します

于 2013-03-25T15:49:11.430 に答える
2

私は同じ問題に直面しており、いくつかのトレースを行いました。このファイルを調べてみると、「./lampp oci8」を実行するときのスクリプト ファイルです。

/opt/lampp_181/share/lampp/oci8install

実際には「libclntsh.so」ではなく「libclntsh.so.10*」を探していることがわかりました

libclntsh=`find $ora_home -name "libclntsh.so.10*" | head -1`

以下のように、「libclntsh.so.10.1 -> libclntsh.so」および「libclntsh.so -> libclntsh.so.11.1」というソフトリンクを作成してみてください。

lrwxrwxrwx 1 oracle dba       69 2013-12-24 10:46 libclntsh.so -> /home/oracle/app/oracle/product/11.2.0/client_2/lib/libclntsh.so.11.1*
lrwxrwxrwx 1 oracle dba       64 2013-12-24 10:46 libclntsh.so.10.1 -> /home/oracle/app/oracle/product/11.2.0/client_2/lib/libclntsh.so*
-rwxr-xr-x 1 oracle dba 39997991 2013-12-24 10:46 libclntsh.so.11.1*

これまでに試したことはありませんが、これは完全なOracle Client lib dirで見ました。確かに、oci8 でこの場所を指定すると、XAMPP は正常に動作します。

Oracle ランタイム クライアント ライブラリ バージョン 11.2.0.1.0

私の phpinfo() 出力

于 2013-12-24T08:53:08.427 に答える
2

Oracle Instant Client 11.2、Ubuntu 12.04、および xampp 1.7.x をインストールしました。次の手順を試してください

  1. Oracle から instantclient-basic-linux-11.2.0.4.0.zip および instantclient-sdk-linux-11.2.0.4.0.zip をダウンロードします。

  2. 同じフォルダに解凍し、/opt/oracle_instantclient に移動します

  3. 次の設定を /etc/environment の末尾に追加します

    $sudo vi /etc/environment

    ...

    LD_LIBRARY_PATH="/opt/oracle_instantclient"

    TNS_ADMIN="/opt/oracle_instantclient"

    ORACLE_BASE="/opt/oracle_instantclient"

    ORACLE_HOME=$ORACLE_BASE

  4. oci8.so のビルド (これはエラーなしで完了するはずです)

    $sudo pecl install oci8

    構成中に入力を求めるプロンプトが表示されるので、次のように入力します。

    インスタントクライアント、/opt/oracle_instantclient

  5. 次の行を /opt/lampp/etc/php.ini に追加します

    拡張子=oci8.so

  6. 次のリンクを作成して、Apache の起動エラーを回避します。

    $sudo ln -s /opt/oracle_instantclient/libclntsh.so.11.1 /opt/oracle_instantclient/libclntsh.so

    $sudo ln -s /opt/oracle_instantclient/libclntsh.so.11.1 /opt/oracle_instantclient/libclntsh.so.10.1

  7. lampp サーバーを再起動します

    $sudo /opt/lampp/lampp 再起動

于 2014-01-24T10:50:00.260 に答える