2015-06-18 6 views
1

Я пытаюсь подключиться к серверу mssql, используя php. Сервер sql находится на другом компьютере в сети, и у меня XAMPP установлен на моей машине. У меня нет на вашем сервере microsoft sql.Подключение к серверу microsoft sql с использованием php

Я загрузил драйверы sqlsrv для PHP, а затем в моем файле php.ini добавлено расширение extension=php_pdo_sqlsrv_55_ts.dll под расширение Windows.

Добавил файл php_pdo_sqlsrv_55_ts.dll в папку php\ext\ моей установки XAMPP.

После перезапуска Apache phpinfo(); показывает, что драйвер SQLSRV включен

PDO support enabled 
PDO drivers mysql, sqlite, sqlsrv 

Это мой код

<?php 
$serverName = "192.168.100.102, 1433"; 
$connectionInfo = array("Database"=>"ATP", "UID"=>"raihan", "PWD"=>"temp123#"); 
$conn = sqlsrv_connect($serverName, $connectionInfo); 

if($conn) { 
    echo "Connection established.<br />"; 
}else{ 
    echo "Connection could not be established.<br />"; 
    die(print_r(sqlsrv_errors(), true)); 
} 
?> 

Но на выполнении я получаю эту ошибку

Fatal error: Call to undefined function sqlsrv_connect() in D:\xampp\htdocs\database\index.php on line 4

Почему эта ошибка ? И как мне перейти к подключению к серверу mssql с помощью php?

+0

php _ ** pdo ** _ sqlsrv_55_ts.dll это похоже на расширение PDO, а не на набор автономных функций. Я полагаю, что расширение, которое вы должны загрузить, это 'php_sqlsrv_55_ts.dll', следуя примеру этого похожего quesiton: http://stackoverflow.com/questions/24776078/cannot-call-function-sqlsrv-connect – Havenard

+0

@Havenard Я следил за данное руководство здесь http://php.net/manual/en/function.sqlsrv-connect.php –

ответ

2

php\etc\ звучит как неправильную папку, попробуйте положить в php\ext\ папку

Примечание extension=php_pdo_sqlsrv_55_ts.dll используется класс PDO

  1. Перейти к https://www.microsoft.com/en-us/download/details.aspx?id=20098
  2. Выбор загрузки вашей PHP версии:

    • Выбрать SQLSRV30.EXE если использование SQL Server 2005
    • Выберите SQLSRV31.EXE или SQLSRV31.EXE если использовать SQL Server 2008
  3. После скачивания, распакуйте DLLS
  4. Если вы используете PHP с THREADSAFE (apache2handler - более вероятно) скопировать php_sqlsrv_55_ts.dll фот ext папку

Для используйте sqlsrv раскомментируйте (или положите) эту строку в php.ini extension=php_sqlsrv_55_ts.dll (или extension=php_sqlsrv_55_nts.dll для безпоточной защиты)

+0

К сожалению, это была опечатка, которую она сохранила в папке 'ext', и я также раскомментировал' extension = php_pgsql.dll 'но я все равно получаю ту же ошибку –

+0

В моем php.ini таких строк нет, это нормально, если я продолжу и добавлю эти строки самостоятельно? –

+0

@RickRoy обновляю подробности. –

Смежные вопросы