2017-12-15 12 views
0

PHP 7.1からPHP 7.2へのアップデート以来、私はoci8をインストールできません。私はこのエラーがあります:ダイナミックライブラリ 'oci8.so'を読み込むことができません(PHP 7.2)

[email protected]:/var/www# php -v

PHP Warning: PHP Startup: Unable to load dynamic library 'oci8.so' (tried: /usr/local/lib/php/extensions/no-debug-non-zts-20170718/oci8.so (libmql1.so: cannot open shared object file: No such file or directory), /usr/local/lib/php/extensions/no-debug-non-zts-20170718/oci8.so.so (/usr/local/lib/php/extensions/no-debug-non-zts-20170718/oci8.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0

PHP 7.2.0 (cli) (built: Dec 12 2017 05:52:58) (NTS) Copyright (c) 1997-2017 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2017 Zend Technologies with Zend OPcache v7.2.0, Copyright (c) 1999-2017, by Zend Technologies

私はバージョンPHP(shenron/docker-php-fpm:7.2)の7.1を使用している場合、それは動作しますが、私はこのためのgithubのレポを作成し、ドッカー環境を使用しています。

私はこのファイルを起動しようとする理由を理解できません:/usr/local/lib/php/extensions/no-debug-non-zts-20170718/oci8.so.so

私の見解には2つの可能性があります。またはドライバが互換性がないか、またはpeclが今日oci8をインストールできません。

誰も同じ問題がありますか?

ありがとうございました。

答えて

0

/usr/local/lib/php/extensions/no-debug-non-zts-20170718/oci8.so.soは、共有ライブラリファイル名の2番目の推定値です。あなたはそれを無視しても問題ありません。

実際の問題がある:それら.soファイルはzipファイルの一部であるように見える

ldd /usr/local/lib/php/extensions/no-debug-non-zts-20170718/oci8.so 
    linux-vdso.so.1 (0x00007ffc8bfe7000) 
    libclntsh.so.12.1 => /usr/local/instantclient/libclntsh.so.12.1 (0x00007fb9919e0000) 
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fb991641000) 
    libmql1.so => not found 
    libipc1.so => not found 
    libnnz12.so => not found 
    libons.so => not found 
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fb99143d000) 
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fb991139000) 
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fb990f1c000) 
    libnsl.so.1 => /lib/x86_64-linux-gnu/libnsl.so.1 (0x00007fb990d04000) 
    librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fb990afc000) 
    /lib64/ld-linux-x86-64.so.2 (0x00007fb994bc8000) 
    libaio.so.1 => /lib/x86_64-linux-gnu/libaio.so.1 (0x00007fb9908fa000) 
    libclntshcore.so.12.1 => not found 

(tried: /usr/local/lib/php/extensions/no-debug-non-zts-20170718/oci8.so (libmql1.so: cannot open shared object file: No such file or directory)

oci8.so自体は、複数の共有ライブラリに依存し、あなたはどれを見つけるためにlddを使用することができますあなたのリポジトリにあります。 PHPをこのように実行すると、LD_LIBRARY_PATH=/usr/local/instantclient_12_1/ phpはコンテナ内で正常に動作します。これらのファイルを正常な場所に移動する必要があります。

+0

ありがとうございました! 問題を解決するためにDockerファイルを更新しました: 'ENV LD_LIBRARY_PATH/usr/local/instantclient_12_1 /' – shenron

関連する問題