Установка PHP PDO в Windows (xampp)


Я пытаюсь разработать веб-приложение, которое может подключаться к как можно большему количеству различных баз данных на PHP. PDO (http://www.php.net/manual/en/book.pdo.php ), кажется, подходящий интерфейс для этого, но у меня возникли проблемы с установкой всех расширений, необходимых для всех различных драйверов баз данных PDO, которые мне нужны.

Пожалуйста, обратите внимание, что я использую xampp на компьютере с Windows 7. PHP версии 5.3.8. Драйверы PDO с поддержкой mysql, odbc, sqlite, sqlite2, sqlsrv.

У меня есть успешно соединен со следующим:

Мне не удалось установить или подключиться к:

  • (РЕШЕНО, СМ. НИЖЕ ОБНОВЛЕНИЯ) Sybase (Я пытался использовать и устанавливать PDO_DBLIB [MS SQL Server (PDO)], но безуспешно)
  • (РЕШЕНО, СМ. ОБНОВЛЕНИЯ НИЖЕ) Oracle (Я попытался включить extension=php_pdo_oci.dll в php.ini с библиотекой dll, которая была установлена с xampp, после перезапуска Apache сервер не запустился. Пытался использовать PDO_OCI [Oracle (PDO)])

Я знаю, что могу обойти эти 2 с помощью драйверов, специфичных для базы данных, но мне бы очень хотелось использовать PDO для всего, что мне нужно.

Кто-нибудь знает, как установить и включить PDO_DBLIB и PDO_OCI драйверы или компьютер с Windows, или любой другой способ подключения к базам данных Sybase и Oracle с помощью PDO?


ОБНОВЛЕНИЕ

Только что успешно соединился с oracle с PDO_OCI. Что вам нужно сделать, так это следующее:

Загрузите и установите соответствующий мгновенный клиент Oracle на свой Windows машину , например instantclient_12_1, и добавьте ее путь к ПУТИ в СИСТЕМЕ Переменные среды. Примечание. 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. Что вам нужно, так это следующее:

Должен быть драйвер ODBC Sybase ASE, который поставляется вместе с SDK. Найдите ниже используемую строку подключения:

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

1 answers

Итак, мне наконец удалось подключиться к четырем базам данных, вот как мне это удалось:


MySQL с использованием расширения PDO_MYSQL, которое, по-видимому, было установлено на xampp по умолчанию, не требовало большой работы. Вот код, который я использовал для подключения:

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

Microsoft SQL Server с использованием PDO_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);

Oracle с PDO_OCI. Загрузите и установите соответствующий мгновенный клиент Oracle на свой компьютер с Windows, например instantclient_12_1, и добавьте его путь к ПУТИ в СИСТЕМНЫХ переменных среды. Примечание. 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 Должен иметь драйвер ODBC Sybase ASE, который поставляется с помощью SDK. Вот код, который я использовал:

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