slogin.info

ihc 468x60 1 1
Звезда активнаЗвезда активнаЗвезда активнаЗвезда активнаЗвезда не активна4 / 5
 
Автор: Администратор
Просмотров: 20606
Теги: php, Microsoft, SQL, Server, driver

В этой статье мы расскажем о всех тонкостях подключения к MS SQL серверу, для работы с ним через PHP.

Мы будем рассматривать SQL Server 2014. На ранних версиях этот процесс может немного отличаться.

Давайте определим, что мы уже имеет установленный пакет SQL Server на каком то VPS или сервере с ОСWindows(Например, заказанного у ihc.ru), либо установленный на вашем локальном компьютере для тестов.

Так же соответственно на сервере стоит PHP версии 5.2+ или у вас установлен локальный сервер, вроде OpenServer.

Теперь нужно скачать и установить PHP driver для SQL Server - вот ссылка на официальный сайт.

На данный момент там есть четыре версии драйвера 2.0, 3.0, 3.1, 3.2. Далее приведена таблица с совместимостью с PHP:

Microsoft Drivers for PHP for SQL Server VersionSupported PHP Versions

3.2

PHP 5.6.4+

PHP 5.5.16+

PHP 5.4.32

3.1

PHP 5.5.16+

PHP 5.4.32

3.0

PHP 5.4.32

PHP 5.3.0

2.0

PHP 5.3.0

PHP 5.2.4

PHP 5.2.13

Так же приведем таблицу поддержки разных версий MS SQL Server:

Microsoft Drivers for PHP for SQL Server VersionSupported Windows Server

3.2

Windows Server 2008 R2 SP1

Windows Server 2008 SP2

Windows Server 2012 

Windows Server 2012 R2

3.1

3.0

Windows Server 2008 R2 SP1

Windows Server 2008 SP2

2.0

Windows Server 2003 Service Pack 1

Windows Server 2008 R2

Windows Server 2008

Мы для проверки выбрали драйвер версии 3.2 для сервера 2014 года. После скачивания распакуйте полученные файлы в какую-нибудь временную папку. Получите примерно такой список файлов:

  • PHP Drivers License Terms.rtf
  • php_pdo_sqlsrv_54_nts.dll
  • php_pdo_sqlsrv_54_ts.dll
  • php_pdo_sqlsrv_55_nts.dll
  • php_pdo_sqlsrv_55_ts.dll
  • php_pdo_sqlsrv_56_nts.dll
  • php_pdo_sqlsrv_56_ts.dll
  • php_sqlsrv_54_nts.dll
  • php_sqlsrv_54_ts.dll
  • php_sqlsrv_55_nts.dll
  • php_sqlsrv_55_ts.dll
  • php_sqlsrv_56_nts.dll
  • php_sqlsrv_56_ts.dll
  • release.txt
  • SQLSRV_Readme.htm
  • SQLSRV_ThirdPartyNotices.rtf

Нас здесь интересуют только библиотеки с форматом dll. Библиотеки с приставкой php_pdo отметаем сразу. Остается список из файлов:

  • php_sqlsrv_54_nts.dll
  • php_sqlsrv_54_ts.dll
  • php_sqlsrv_55_nts.dll
  • php_sqlsrv_55_ts.dll
  • php_sqlsrv_56_nts.dll
  • php_sqlsrv_56_ts.dll

Здесь после приставки php_sqlsrv_ идут две цифры, это версия PHP, и следующие символы определяют Thread Safety, режим которого можно посмотреть в информации о вашем PHP, смотрится в phpinfo(). Если в графе стоит enabled, то выбираем версию с приставкой _ts и иначе - _nts.

 

phpinfoTS

После того как вы определились с файлом драйвера, который нужен вам, переходим к настройке php.ini. В первую очередь находим там строчку extension_dir = и удостоверяемся, что она не закомментирована, она указывает путь к расширениям, именно по этому пути открываем соответствующую директорию и закидываем туда библиотеку драйвера, в нашем случае это был php_sqlsrv_54_ts.dll, у вас может быть другая версия драйвера.

Теперь добавляем в php.ini строку с подключением драйвера extension=php_sqlsrv_54_ts.dll. Перезапускаем сервер и проверяем phpinfo(). Если всё произошло успешно вы должны обнаружить блок sqlsrv:

phpinfoSqlsrv

Теперь проверяем соединение с БД при помощи следующего шаблона:

<?php
$serverName = "<имя_вашего_sql-сервера\имя_инстанции,номер_порта>"; //если instance и port стандартные, то можно не указывать
$connectionInfo = array("UID" => "<имя_пользователя>", "PWD" => "<пароль>", "Database"=>"<имяБД>");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn )
{
echo "Connection established.\n";
}
else
{
echo "Connection could not be established.\n";
die( print_r( sqlsrv_errors(), true));
}
/* Close the connection. */
sqlsrv_close( $conn);
?>

Если получаем "Connection established." - радуемся. Если "Connection could not be established." и гору сообщений об ошибках, то перечитываем статью, после этого уже пишем в комментарии.

Мы пробовали всё на локальном компьютере - сервер OpenServer, версия PHP - 5.4.44, MS SQL Server 2014, имя БД - StudyBD.

<?php 
    $serverName = "Dartl\SQLEXPRESS"; 
	$connectionInfo = array("Database"=>"StudyBD");
	$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn )
{
	echo "Connection established.\n";
}
else
{
	echo "Connection could not be established.\n";
	die( print_r( sqlsrv_errors(), true));
}
	/* Close the connection. */
	sqlsrv_close( $conn);
?>

Напоследок так же ссылка на на описание API драйвера.

Добавить комментарий

Авторизоваться с помощью:

     


Защитный код
Обновить

Поиск по сайту

Топ 10 активных пользователей

  • Имя пользователя Баллы
  • gawk
    44.20
  • hr@proovelab
    15.00
  • ZOMRO
    8.80
  • intuit89
    7.40
  • Varvarka
    4.00
  • Akyla58
    3.00
  • AnnaOl
    3.00
  • dimasik_3557
    3.00
  • ErcardSa
    3.00
  • Galinamuh
    3.00
 

Рекламные ссылки

IHC

Пожертвования

icon donate

Yandex.Money: 410011571748395

Webmoney:

R362907776401 (Рубли)

Z410919458006 (Доллары)

ihc 468x60 1 1

Похожие материалы

Языки программирования сайтов

Приветствую всех посетителей моего сайта. В этой статья я расскажу вам о языках программирования, которые нужны для управления, созданий и разработки своего сайта.

Теги:

css, html, javascript, php, веб

Комментариев: 0 Подробнее
Простая форма обратной связи своими руками.

 В этой статье мы расскажем о том, как сделать простую, работающую форму обратной связи на PHP.

Теги:

php, form, simple, форма, send

Комментариев: 0 Подробнее
Как написать скрипт для проведения собственного тестирования на PHP?

В этой статье речь пойдет о реализации простого тестирования при помощи PHP.

Теги:

php, тестирование, test, скрипт

Комментариев: 0 Подробнее
Как исправить ошибку

В этой статье мы рассмотрим основные причины и решения возникновения ошибки "Невозможно изменить заголовки - т.к. они уже были отправлены"("Cannot modify header information - headers already sent by").

Теги:

php, header, error, setcookie

Комментариев: 0 Подробнее

Последнее с форума

ZOMRO аватар
Дарим хорошее настроение и качественный сервис — этого заслуживает каждый наш клиент. Акции, бонусы...
Перейти в тему
ZOMRO аватар
Чем больше — тем дешевле! При заказе услуги VPS или виртуального хостинга и оплате его на длительны...
Перейти в тему
intuit89 аватар
[image] Всем привет! Меня зовут Михаил, я представляю команду, в составе: копирайтер, дизайнер и SM...
Перейти в тему

Последние статьи

Javascript функции

Функции - одна из основных концепций языка JavaScript. При этом есть кардинальное отличие от многих языков программирования, в JS каждая функция сама по себе является объектом, а соответственно и манипулировать с ней можно разными способами:

Ссылка на телефон

В этой статье мы рассмотрим простой и обычный способ создания ссылки на телефон.

CPA сети 30.01.2017
CPA сети

Сегодня мы подробно рассмотрим тему зарабатка на своих проектах (т.е. это не обязательно сайты) при помощи CPA сетей.