次の行はコメントされていません(私のphp.iniにあります):
_extension=php_Oracle.dll
extension=php_oci8.dll
_
そして、私はこのファイルを_instantclient-basiclite-nt-11.2.0.2.0.Zip
_ダウンロードして解凍し、ドライブDに置きました...
WindowsXPを使用しています
私は次のように環境変数を設定します:
_LD_LIBRARY_PATH C:\instantclient_11_2:$LD_LIBRARY_PATH
Oracle_HOME C:\instantclient_11_2
_
しかし、oci_connect()
関数を実行すると、次のエラーが表示されます。
致命的なエラー:未定義の関数oci_connect()の呼び出し...
そして私はerroeLogファイルでこの警告を見つけました:
[2011年12月29日00:36:39] PHP警告:PHP起動:ダイナミックライブラリを読み込めません 'c:\ php\ext\php_oci8 .dll'-指定されたモジュールが見つかりませんでした。0行目の不明で
[2011年12月29日00:36:39] PHP警告:PHP起動:ダイナミックライブラリを読み込めません 'c:\ php\ext\php_Oracle .dll'-指定されたモジュールが見つかりませんでした。
チェック事項:
LD_LIBRARY_PATH
もOracle_HOME
も設定する必要はありません。ただし、D:\instantclient_11_2
をPATH
環境変数に追加し、コンピューターを再起動して変更を適用する必要があります。
PHPを構成する前に、Oracleクライアントライブラリが実際に機能することを確認してください(たとえば、SQL Developerに接続してみてください)。
extension=php_Oracle.dll
をコメントアウトします。これは、古くて非推奨のOracle拡張機能に属しています。
php_oci8.dll
ファイルが実際にc:\php\ext\php_oci8.dll
にあることを再確認しますか?
php_oci8.dll
ファイルをphp/ext
ディレクトリに置いた後、Apacheを再起動しましたか?
拡張機能の場所を指すこの行をphp.inファイルに追加するだけで、拡張機能の場所を知る必要がありますが、通常はphpフォルダーにあります。
extension_dir = C:\xampp\php\ext ;
これはxamppを使用している私にとっては賢明です。
それは私のために働いた。問題は拡張機能へのアクセスにあり、Oracleライブラリとは何の関係もありません。