Установка PHP PDO на windows (xampp) - программирование
Подтвердить что ты не робот

Установка 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.

Я успешно связался со следующим:

Мне не повезло установить или установить соединение с:

  • (SOLVED SEE BELOW UPDATES) Sybase (я пытался использовать и устанавливать PDO_DBLIB [MS SQL Server (PDO)], но не повезло)
  • (SOLVED SEE BELOW UPDATES) Oracle (я попытался включить расширение = php_pdo_oci.dll в php.ini с dll, которая была установлена ​​с xampp после перезапуска Apache, сервер не смог запустить. пытаясь использовать PDO_OCI [Oracle (PDO)])

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

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


UPDATE

Просто успешно связан с оракулом с PDO_OCI. Что вам нужно сделать, это следующее:

Загрузите и установите надлежащий Oracle Instant Client на вашем компьютере Windows для пример instantclient_12_1 и добавьте свой путь к PATH в SYSTEM Экологические переменные. Примечание. Oracle поддерживает только две версии, поэтому выберите вашей клиентской версии. Сделайте это, а затем перезапустите свой 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);  
4b9b3361

Ответ 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, и добавьте его путь к PATH в SYSTEM Environmental Variables. Примечание. Oracle поддерживает только две версии, поэтому выберите свою версию клиента правильно. Сделайте это, а затем перезапустите свой 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);