2017-08-23 13 views
0

Oracle 11gXEをPHPに接続しようとしています。 PHPの場合は、64ビット版のwamp64をダウンロードし、Oracle 11gXEも64ビット版をダウンロードしました。私はウィンドウズ10も64ビットを使用しています。WAMP64を使用したOCI8構成

今私はphpにOracleを接続していないので、OCIとPDO_OCIが多数検索された後、OCIが推奨されています。

ここでは、以下の手順をすべて説明しました。

  • OCIシンクライアントzipは、oracleの公式サイトからダウンロードできます。
  • ジップを抽出します。
  • 環境変数にパスを含めます。 php.iniの
  • 拡張子= php_oci8_12c.dll(またはこれまでに何を持っているOracleのバージョン)を有効には、この$con = oci_connect($username, $password, $connection_string);

を使用今私はステップに従ったが、接続に失敗しています。 接続を確立するためのコードです。

<?php 
$username = "ABCD"; 
$password = "1234"; 
$connection_string = "localhost/XE"; 
$con = oci_connect($username, $password, $connection_string); 
if(!$con) { 
    echo "Faild to connect"; 
} 
else { 
    echo "Success"; 
} 
?> 

今では、私は再び、私はこの問題を解決するために検索するので

enter image description here

このエラーが表示されます。今私は以下の問題に直面しています。私のphp.iniの

  1. 私はphp_oci8_11g.dllを持っていなかった、私はphp_oci8_12c.dl
  2. を持っていたともに/ extにphp_oci8_12c.dllを持っていました。

だから私はphp_oci8_11g.dllをダウンロードして= php_oci8_11g.dll拡張子を言及。 その後、コードをもう一度実行しようとしましたが、機能しませんでした。その後、32ビットのシンクライアントは、32ビットのオラクルと32ビットのxamppを持っているため、32ビットのシンクライアントが動作していました。しかし、Oracle 11gXE 64bitとwamp 64bitもです。 64ビットのシンクライアントをダウンロードしました。

でも、私はphp_oci8_11gをのphp拡張パネルに見ることはできません。

php extension pane どうすればよろしいですか?

答えて

0

ありに気を付けるべきいくつかのものです:あなたはすべてのために同じ32または64ビットアーキテクチャ持っていることを確認する必要があり

  • :Oracleクライアントライブラリ、PHP、Webサーバ、および(インスタントクライアントを使用している場合)MS VS再頒布可能でもあります。 (Instant Clientを試したときに再配布可能ファイルをインストールしたかどうかは、Instant Clientのダウンロードページで詳細を確認してください)

  • PHPで使用するOracleクライアントライブラリのバージョン(Oracle XEインストールまたはInstant Client )は、PATH(および他のOracleバージョンの前)になければなりません。Windows上の複数バージョンのライブラリ間の衝突は制御が難しい。 (Linuxは簡単です...)

  • Oracleクライアントライブラリのバージョンは、拡張機能がコンパイルされたOracleクライアントのバージョンと同じかそれ以上でなければなりません。 php_oci8_12cはOracleクライアント12cでコンパイルされましたが(古いバージョンと新しいデータベースバージョンに接続できるようになりました)、Oracle 12.1または12.2クライアントライブラリはPATHになければなりません(他のOracleバージョンより前)

  • 拡張機能をダウンロードする場合PECLを使用するには、スレッドセーフであるか、スレッドセーフでないバージョンのDLLをPHPに適合させる必要があります。また、使用しているPHPのバージョンと同じでなければなりません。

+0

私はコメントをお寄せいただきありがとうございますが、PATH変数にパスを配置しようとしましたが、私はOcaleのWebサイトからライブラリをダウンロードしましたが、64ビットvesrionでもすべてのものを持っています。これらのことから離れてどんな手がかりですか? –

+0

Instant Clientに必要なMS VS Redistributableをインストールしたとは言わなかった。 –

関連する問題