ホームページ > バックエンド開発 > PHPチュートリアル > PHP は ubuntu で oci8.so を正常にロードできませんでした

PHP は ubuntu で oci8.so を正常にロードできませんでした

WBOY
リリース: 2016-06-23 14:21:07
オリジナル
1038 人が閲覧しました

Ubuntu で PHP を Oracle データベースに接続したい場合は、instantclient をダウンロードして解凍し、/opt/oracle/instantclient ディレクトリに配置しました。
pecl install oci8 を使用すると、コンパイルが成功し、自動的に /usr/lib/php5/2009..../ に配置されます
extension=oci8.so が php.ini に追加されます
に PATH= を設定します/etc/enviroment file $PATH:/opt/oracle/instantclient
oci8 モジュールを正常にロードするにはコンピュータを再起動する必要があるのは当然ですが、phpinfo() は Apache の PATH 値がまだロードされていないことを示しています。ページに表示される環境はデフォルトのままです /usr/bin,/usr/sbin,/bin,/opt/oracle/instantclient は表示されません
環境の PATH 値はデフォルトのままです。問題はここにあるはずです。つまり、Oracle ライブラリがロードされていないということです。

Windows Server 2003 を使用していたときは、Windows Oracle クライアントの使用にも問題がありました。最終的にイベント ログを確認したところ、C++ ライブラリに従っていないことがわかりました。 Ubuntuでもライブラリをインストールする必要がある可能性はありますか?


ディスカッションへの返信 (解決策)

extension=oci8.so; ここを完全なパスに変更して見てください

問題はここにあるはずではありません。 /20090626+ lfs、この oci8.so が入っているのですが、クライアント ライブラリが追加されていないように感じます。

クライアントのバージョンはサーバーと互換性がありますか?

ウィンドウ内では
php は oci.dll を介して php_oci8.dll を通じて oracle と対話します
その oci.dll は oracle クライアントによって運ばれます
Linux では、それは同じであるはずです

oracle は常にアップグレードされていますが、php はそうではありませんOracleのバージョンごとにインターフェースプログラムを書くことが可能です
そこで、Oracleクライアントインターフェースociをoci8拡張子で接続するという解決策を採用しました


phpinfoを使用して確認してください。

extension=/usr/local/lib/php/extensions/no-debug-non-zts-20060613/oci8.so

/usr/local/apache2/bin/apachectl restart

参考: http://www .wanghan.org/wordpress/?p=94


php -m エラーがないか確認してください

ログから、libaio1 がインストールされていないことがわかります

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート