Win7(x64)PCに実際のXAMPPをインストールして、OracleDBに接続するためのPHPスクリプトを記述しました。また、通常のOracle 11.2.0クライアントもインストールしています(PATHとOracle_HOMEはクライアントは他のすべての作業に問題なく使用されます。
Oracle DBに接続しようとすると、PHPはFatal error: Call to undefined function oci_connect() in
で失敗します。php.iniで「oci8-extensions」を有効にする必要があったことを覚えています。数年前のx32winXP PCでも同じことですが、現在のxamppの_php/ext
_フォルダーにはこれらのdllがありません(Apacheの起動時に不明な関数のエラーをいくつかスローする_php_oci8_12c.dll
_のみです。 11)ではなくOracle 12)とphp.iniも、インスタントクライアントにのみ必要であると述べています。
_;extension=php_oci8.dll ; Use with Oracle 10gR2 Instant Client
;extension=php_oci8_11g.dll ; Use with Oracle 11gR2 Instant Client
_
また、これ SO-questions は、通常のクライアントでコメント拡張機能を使用しても機能しないことを示しています(これも試しました)。
解決策をグーグルで検索しようとしましたが、すべての「解決策」は「win32インスタントクライアントをインストールして拡張機能を有効にする」です。しかし、私のQA作業のほとんどは、インストールおよび構成された11.2.0クライアントを必要とし、とにかくphp/ext-folderに.dllがないため、これを行うことはできません。
また、ociw32.dllをclient/binフォルダーからphp/ext-folderにコピーしようとしましたが、ApacheはそれがPHPライブラリではないと言います。
では、どうすればPHP Oracleライブラリがx64win7[〜#〜] without [〜#〜]win32 Oracle Instant Clientをインストールし、現在の設定を破棄しますか?
編集:私はまた、説明されている手順を試しました PHP:インストールマニュアル(投稿:samantha dot vincent at gmail dot com) Apacheの変更を含む-http.confも役に立ちませんでした。
phpinfo()
-出力についても混乱しています
_Configure Command "--with-pdo-oci=c:\php-sdk\Oracle\x86\instantclient_12_1\sdk,shared" "--with-oci8-12c=c:\php-sdk\Oracle\x86\instantclient_12_1\sdk,shared"
_