Установка 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 (Я попытался включить расширение=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 Instant На вашем компьютере с 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. Вам нужно следующее:

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

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

1 ответов


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


в 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 Instant Client на вашем компьютере с windows, например instantclient_12_1, и добавьте его путь к пути в системных переменных среды. Примечание. Oracle поддерживает только 2 версии вниз, поэтому выберите версию клиента правильно. Сделайте это, а затем перезапустите Апаш. Вот код, который я использовал:

$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 должен иметь драйвер Sybase ASE ODBC, который поставляется с SDK. Вот код, который я использовал:

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