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 がインストールされていないことがわかります