Установка 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.
Я успешно подключился к следующему:
- в MySQL используя PDO_MYSQL [MySQL (PDO)] (расширение, казалось, было установлено на xampp по умолчанию)
- Microsoft SQL Server используя PDO_SQLSRV [MS SQL Server (PDO)] (после instractions на http://craigballinger.com/blog/2011/08/usin-php-5-3-with-mssql-pdo-on-windows/)
мне не удалось установить или подключиться с:
- (РЕШЕНО СМ. НИЖЕ ОБНОВЛЕНИЯ)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);