【解決方法】どうすれば…xamppを使用してPHPでOracle 12cに接続する方法


現在、XAMPPサーバーを使用して、php経由でローカルマシンにインストールされているoracle 12cに接続しようとしています。 次のようなエラーが表示されます。

PHP xamppの未定義関数oci_connect()への致命的なエラー呼び出し
助けてください。
前もって感謝します。

私が試したこと:

php.iniで以下の拡張機能を有効にするようにしました

;extension=php_oci8.dll
;extension=php_oci8_11.g.dll
「;」を削除すると、 結果は以下のようになります。

拡張子=php_oci8.dll
拡張子=php_oci8_11.g.dll

変更を適用した後にサーバーを再起動しました

Oracle Instant Client もダウンロードしてインストールしましたが、進捗がありません。

解決策 1

見る PHP: インストール – マニュアル: OCI8 を使用した PHP の構成[^]:

引用:

Windows で Oracle 10gR2 クライアント ライブラリを使用する場合は、php.ini 行 extension=php_oci8.dll のコメントを解除します。 Oracle 11gR2 以降のクライアント ライブラリを使用する場合は、extension=php_oci8_11g.dll または extension=php_oci8.dll のコメントを解除します。 Oracle 12c ライブラリでは、extension=php_oci8_12c.dll または extension=php_oci8_11g.dll または extension=php_oci8.dll を使用します。 一度に有効にできるのは、これらの DLL のうち 1 つだけです。 より高いバージョンの DLL には、より多くの機能が含まれている可能性があります。 すべての DLL がすべてのバージョンの PHP で使用できるわけではありません。 extension_dir が PHP 拡張 DLL を含むディレクトリに設定されていることを確認してください。

も参照してください。 Troubleshooting セクション:

引用:

OCI8 のインストールに関する最も一般的な問題は、Oracle 環境が正しく設定されていないことです。 これは通常、oci_connect() または oci_pconnect() の使用時に問題として現れます。

引用:

Windows では、PHP が正しいバージョンの Oracle のみを使用するように注意しない限り、1 台のマシンに複数のバージョンの Oracle が存在すると、ライブラリの衝突が簡単に発生する可能性があります。

解決策 2

Hello sir i have try many but not solve
Fatal error: Uncaught Error: Call to undefined function oci_connect() in C:\xampp_updated\htdocs\vigilance_module\dbConfigOrcl.php:26 Stack trace: #0 {main} thrown in C:\xampp_updated\htdocs\vigilance_module\dbConfigOrcl.php on line 26

解決策 3

Whenever you connecting Oracle Database , try to use 32 Bit oracle client libraries, Since XAMP PHP is compiled with 32 Bit(Though you have 64 Bit windows Machine)
<a href="https://hindijugad.com" target="__blank">Download Oracle </a>Client from Download From here

Paste it in C:\instantclient_12_1

Then Set the path to above in System Environment Variable
Then Go to C:\xampp\php\php.ini and uncomment extension=php_oci8_12c.dll
Then Restart the XAMP and it should work without any Issue.

コメント

タイトルとURLをコピーしました