web-dev-qa-db-ja.com

PHP WindowsへのPDOのインストール(xampp)

PHPでできるだけ多くの異なるデータベースに接続できるWebアプリを開発しようとしています。 PDO( http://www.php.net/manual/en/book.pdo.php )は適切なインターフェイスのようですが、すべての拡張機能に必要なすべての拡張機能をインストールするのに問題があります。必要なさまざまなPDOデータベースドライバー。

私はWindows7マシンでxamppを使用していることに注意してください。 PHPバージョン5.3.8。PDOドライバーはmysql、odbc、sqlite、sqlite2、sqlsrvを有効にしました。

私は以下にうまく接続しました:

私はインストールまたは接続する運がありませんでした:

  • (以下の更新を参照してください)SybasePDO_DBLIBを使用してインストールしようとしました)[MS SQL Server(PDO)]しかし運がない)
  • (以下の更新を参照してください)Oracle(再起動後にxamppでインストールされたdllを使用してphp.iniのextension = php_pdo_oci.dllを有効にしようとしましたApacheサーバーの起動に失敗しました。使用しようとしていましたPDO_OCI[Oracle(PDO)])

データベース固有のドライバーを使用してこれら2つを回避できることはわかっていますが、必要なものすべてにPDOを使用したいと思っています。

PDO_DBLIBおよびPDO_OCIドライバーをインストールして有効にする方法を知っている人はいますか? Windowsマシン、またはPDOを使用してSybaseおよびOracleデータベースに接続する他の方法はありますか?


[〜#〜]更新[〜#〜]

OraclePDO_OCIで正常に接続されました。あなたがする必要があることは次のとおりです:

適切なOracleInstant Client(instantclient_12_1など)をWindowsマシンにダウンロードしてインストールし、そのパスをSYSTEM環境変数のPATHに追加します。注Oracleは2つのバージョンのみをサポートしているため、クライアントのバージョンを適切に選択してください。それを実行してから、Apacheを再起動します。接続文字列はこことは大きく異なることに注意してください。これは私が使用したもののサンプルです。

$tns = "(DESCRIPTION=(ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(Host = ".$myServer.")(PORT = 1521)))(CONNECT_DATA=(SID=".$myDB.")))"; 
$connStr = "oci:dbname=".$tns;      
$conn = new PDO($connStr,$myUser,$myPass);  

[〜#〜]更新[〜#〜]

SybaseおよびPDO_ODBCに接続されています。必要なものは次のとおりです。

Skype ASE ODBC SDKに付属のドライバが必要です。使用されている接続文字列を以下に示します。

$connStr = "odbc:Driver={Adaptive Server Enterprise};server=".$myServer.";port=".$myPort.";db=".$myDB;
$conn = new PDO($connStr,$myUser,$myPass);  
10
Constantinos

だから私はついに4つのデータベースに接続することができましたこれが私が管理した方法です:


MySQLusingPDO_MYSQL拡張機能はデフォルトでxamppにインストールされているようです '多くの仕事をしなければなりません。接続に使用したコードは次のとおりです。

$connStr = "mysql:Host=".$myServer.";dbname=".$myDB; 
$conn = new PDO($connStr,$myUser,$myPass);  

Microsoft SQL ServerPDO_SQLSRVを使用して http ://craigballinger.com/blog/2011/08/usin-php-5-3-with-mssql-pdo-on-windows/ 。これが私が使用したコードです:

$connStr = "sqlsrv:Server=".$myServer.";Database=".$myDB; 
$conn = new PDO($connStr,$myUser,$myPass);

OraclewithPDO_OCI。適切なOracleInstant Client(instantclient_12_1など)をWindowsマシンにダウンロードしてインストールし、そのパスをSYSTEM環境変数のPATHに追加します。注Oracleは2つのバージョンのみをサポートしているため、クライアントのバージョンを適切に選択してください。それを実行してから、Apacheを再起動します。これが私が使用したコードです:

$tns = "(DESCRIPTION=(ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(Host = ".$myServer.")(PORT = 1521)))(CONNECT_DATA=(SID=".$myDB.")))"; 
$connStr = "oci:dbname=".$tns;      
$conn = new PDO($connStr,$myUser,$myPass);  

SybasewithPDO_ODBCSybase ASE ODBC SDKに付属のドライバ。使用したコードは次のとおりです。

$connStr = "odbc:Driver={Adaptive Server Enterprise};server=".$myServer.";port=".$myPort.";db=".$myDB;
$conn = new PDO($connStr,$myUser,$myPass);  
3
Constantinos