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

未定義の関数oci_connect、php_oci8_12c.dll、Windows 8.1、php5.6.6を呼び出します

    編集: <ストライク>うーん。 Windows 8でこれを試してみると、指定したのと同じエラーが生成されるようです。現在調査中です...

    私の間違い(間違ったextension_dirを有効にしていた ライン)。以下に記載されているように、Win8で動作します。

    OCIをPHPで動作させるために必要なのは、次の手順だけです(これは、新しくインストールしたWindows 2008 R2 Standard x64仮想マシンで確認しました):

    • PHPをダウンロードして抽出します(C:\phpを使用しました php-5.6.7-nts-Win32-VC11-x86.zipから 。
    • InstantClientをダウンロードして解凍します(C:\instantclient_12_1を使用しました instantclient-basic-nt-12.1.0.2.0.zipから 。
    • 上記のパスをシステムパスに追加します。
    • c:\php\php.ini-productionをコピーします c:\php\php.iniへ 。
    • php.ini内 :
      • 有効な行extension_dir = "ext"
      • 有効な行extension=php_oci8_12c.dll
    • Microsoft Visual C ++ 2010ランタイム(x86)をインストールします。これは、OCI8拡張機能に必要です。
    • Microsoft Visual C ++ 2012ランタイム(x86)をインストールします。これはPHPに必要です。

    この時点で、php --ri oci8を実行しています。 コマンドプロンプトで、次の出力が表示されます:

    C:\>php --ri oci8
    
    oci8
    
    OCI8 Support => enabled
    OCI8 DTrace Support => disabled
    OCI8 Version => 2.0.9
    Revision => $Id: f5a3ee1083d1ffa6adb5143efda6eafa210b8414 $
    Oracle Run-time Client Library Version => 12.1.0.2.0
    Oracle Compile-time Instant Client Version => 12.1
    
    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.connection_class => no value => no value
    oci8.events => Off => Off
    
    Statistics =>
    Active Persistent Connections => 0
    Active Connections => 0
    

    そして、oci_connectをチェックします 機能:

    C:\>php -r "var_dump(function_exists('oci_connect'));"
    bool(true)
    


    1. 2つの列を使用したデータのピボット

    2. MySQLの1つを除くすべての重複行を削除しますか?

    3. マスター高可用性マネージャー(MHA)がクラッシュしました!私は今何をしますか?

    4. Perconaサーバーをハイブリッドクラウドにデプロイする