sql >> データベース >  >> RDS >> Oracle

ダイナミックライブラリ'C:\ xampp \ php \ ext \ php_oci8.dll'を読み込めません-%1は有効なWin32アプリケーションではありません

    エラーは、ビルドタイプの不一致を示しています。

    次の手順に従って解決してください:

    必ずoracleinstantclientをダウンロードしてインストールしてください。 で: http://www.oracle.com/technetwork/topics/winsoft -085727.html 、ただし注意:

    1. Oracleに注意してください データベースバージョン; バージョン12.1.xを使用する Oracleデータベースの場合12c およびバージョン11.1.x 11gの場合 リリース。
    2. いずれの場合も、必ず Basic Liteをダウンロードしてください。 Oracleinstantclientのバージョン。

    その後、環境変数の下のシステム変数パスにOracleinstantclientの場所を追加します。 xamppのPHPが両方ともあることを同様に確認してください およびその内線 利用可能で、そこにも設定します(そうでない場合は、追加してください)。

    次に、 TNS_ADMINを使用して新しいシステム変数を追加します。 変数名として およびOracleinstantclientへの場所 変数値として 。

    また、ユーザー変数を定義します PATH 同じOracleinstantclientへの場所 として 。

    この段階の後、新しく定義された環境変数を完全に伝播するためにコンピューターを再起動します。

    オンにすると、Windowsコマンドプロンプトを開くことができます。 where oci *を実行します 環境変数が明確に定義されていることを確認します。応答は次のようになります:

    C:\Users\flex>where oci*
    
    C:\oraclexe\app\oracle\product\11.2.0\server\bin\oci.dll
    C:\oraclexe\app\oracle\product\11.2.0\server\bin\ocijdbc11.dll
    C:\oraclexe\app\oracle\product\11.2.0\server\bin\ocijdbc11.sym
    C:\oraclexe\app\oracle\product\11.2.0\server\bin\ociw32.dll
    C:\instantclient_11_2\oci.dll
    C:\instantclient_11_2\oci.sym
    C:\instantclient_11_2\ocijdbc11.dll
    C:\instantclient_11_2\ocijdbc11.sym
    C:\instantclient_11_2\ociw32.dll
    C:\instantclient_11_2\ociw32.sym
    

    そうでない場合は、何かを見逃していて、プロセスを再検討して、効果的に完了する必要があるはずです。

    これで、php.iniファイル(環境変数が明確に定義されている場合)に進み、 ociを有効にすることができます。 コメントを外すことによる拡張機能(php_oci8.dllおよびphp_oci8_11g.dll)。セミカラムを削除するだけでそれを実現できます(; )上記の拡張機能の前。

    php.iniファイルを保存してから、apacheがまだ実行されていない場合は、再起動または開始することを忘れないでください。

    PHP oci8構成が有効になっていることを確認するには、Windowsコマンドプロンプトに戻って、 php --ri oci8を実行します。;応答は次のようになります。

    C:\Users\flex>php --ri oci8
    
    OCI8 Support => enabled
    OCI8 DTrace Support => disabled
    OCI8 Version => 2.1.1
    Revision => $Id: 86f22a208f89dcd5b305e82929a7429683968b11 $
    Oracle Run-time Client Library Version => 11.2.0.4.0
    Oracle Compile-time Instant Client Version => 10.2
    
    Directive => Local Value => Master Value
    oci8.max_persistent => -1 => -1
    oci8.persistent_timeout => -1 => -1
    oci8.ping_interval => 60 => 60
    oci8.privileged_connect => Off => Off
    oci8.statement_cache_size => 20 => 20
    oci8.default_prefetch => 100 => 100
    oci8.old_oci_close_semantics => Off => Off
    oci8.events => Off => Off
    
    Statistics =>
    Active Persistent Connections => 0
    Active Connections => 0
    

    または、<?php phpinfo(); ?> コンテンツとして、ブラウザで開き、oci8オカレンスを検索します。そこでも有効になっていることが表示されます。



    1. Dockerのpostgresコンテナのパスワード認証に失敗しました

    2. !の引数として指定されたMySQLエラーの空の文字列キャラクター

    3. Djangoで主キーシーケンスを安全に転送するにはどうすればよいですか?

    4. JOINがCASEに依存するMySQLクエリ