簡體   English   中英

Windows上的PHP PDO安裝(xampp)

[英]PHP PDO installation on windows (xampp)

我正在嘗試開發一個可以在PHP上連接到盡可能多的不同數據庫的Web應用程序。 PDO( http://www.php.net/manual/en/book.pdo.php )似乎是它的正確接口,但是我無法安裝我需要的所有不同PDO數據庫驅動程序所需的所有擴展。

請注意,我在Windows 7機器上使用xampp。 PHP版本5.3.8。 PDO驅動程序啟用了mysql,odbc,sqlite,sqlite2,sqlsrv。

我已成功連接以下內容:

我沒有安裝或連接的運氣:

  • (已解決,請參閱下面的更新) Sybase (我嘗試使用並安裝PDO_DBLIB [MS SQL Server(PDO)]但沒有運氣)
  • (已解決,請參閱下面的更新) Oracle (我嘗試在php.ini中啟用擴展名= php_pdo_oci.dll,並在重啟Apache后使用xampp安裝的DLL啟動服務器無法啟動。嘗試使用PDO_OCI [Oracle(PDO)] )

我知道我可以使用數據庫特定的驅動程序解決這兩個問題,但我真的很樂意將PDO用於我需要的一切。

有誰知道如何安裝和啟用PDO_DBLIBPDO_OCI驅動程序或Windows機器,或使用PDO與Sybase和Oracle數據庫連接的任何其他方式?


UPDATE

PDO_OCI成功地與oracle連接。 您需要做的是以下內容:

在Windows機器上下載並安裝正確的Oracle Instant Client,例如instantclient_12_1,並將其路徑添加到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);  

UPDATE

剛與Sybase以及PDO_ODBC連接 您需要的是以下內容:

必須具有SDK附帶的Sybase ASE ODBC驅動程序。 在下面找到使用的連接字符串:

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

所以我終於設法連接到四個數據庫這里是我管理的方式:


使用PDO_MYSQL擴展的MySQL似乎默認安裝在xampp上並沒有做太多工作。 這是我用於連接的代碼:

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

使用PDO_SQLSRV的 Microsoft SQL Server遵循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);

OraclePDO_OCI 在Windows機器上下載並安裝正確的Oracle Instant Client,例如instantclient_12_1,並將其路徑添加到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);  

PDO_ODBC的 Sybase必須具有SDK附帶的Sybase ASE ODBC驅動程序。 這是我使用的代碼:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM