Система построения сайта SBS "Web-Pro"
Средство для создания и удобного управления сайтом, имеющее расширенные
по сравнению с CMS (Content Management System) характеристики.
Более 5 лет успешного использования.
Подробнее
|
PHP + MS SQL Server: установка и настройка на Windows x64
К списку статей
В этой статье коротко приводится решение проблемы подключения PHP к MS SQL Server на Windows x64. Решение описано тезисно, но полноценно, и является проверенным.
ПроблемаНачиная с PHP 5.3.* в дистрибутиве нет php_mssql.dll. Это значит, что для использования PHP с MS SQL просто раскомментировать строку в php.ini будет недостаточным. Разработкой драйверов теперь занимается Microsoft, т.е. драйвер надо скачивать и ставить отдельно.СистемаPHP 5.6.16, Windows 10 x64, Apache 2.4, MS SQL Server 2012.РешениеВ первую очередь нужно, разумеется, установить сам MS SQL Server. Хорошим вариантом будет RUS\x64\SQLEXPRWT_x64_RUS.exe - включает в себя ядро СУБД и среду SQL Server Management Studio Express. Скачиваем, ставим как обычно. Далее нужно скачать драйвера. В архивах находятся драйвера под разные версии PHP, нужно выбрать подходящий. Для PHP 5.6 подходит SQLSRV32.EXE (определяем по цифрам в именах DLL-файлов).Всё бы хорошо, но для 64-битной Windows этот драйвер не подойдет (говорят, его просто не существует), поэтому скачиваем неофициальные драйвера и забираем оттуда 2 библиотеки (PDO и без него). Обратите внимание, что брать нужно из папки x64. Итак, скачав и распаковав архив, копируем файлы php_sqlsrv_*.dll и php_pdo_sqlsrv_*.dll в папку расширений PHP, например, php5/ext/ (там, где лежат остальные библиотеки PHP). Как выбрать, брать файлы "ts" или "nts" ("Thread Safety" или "Not Thread Safety"): в phpinfo() смотрим параметр Thread Safety - enabled или disabled. Если файлы имеют суффикс "_vc*", смотрим через phpinfo() параметр Compiler. Добавляем в php.ini строки extension=php_sqlsrv_*.dll и extension=php_pdo_sqlsrv_*.dll. Перезапускаем Apache. Контролируем через phpinfo() наличие блока "sqlsrv". Если он есть, значит установка прошла успешно, и можно тестировать соединение с БД. Тестирование соединенияПеред тестированием создаем БД, таблицу, данные через SQL Server Management Studio. Создаем тестовый скрипт по примеру от Microsoft.$connectionInfo лучше не указывать, т.к. может не сработать, если не настроены пользователи и доступ. $serverName = '(local)'; - для локального сервера (или можно указать имя компьютера, без скобок). Таким образом мы проверяем, что MS SQL Server и PHP-драйверы успешно установлены, и мы можем подключаться, без учета конкретной БД. Базовые запросы к БДЧтобы подключиться к конкретной БД, в SQL Server Management Studio создаем пользователя: Security -> Logins -> Правая кнопка мыши. Выбираем метод SQL Server Authentification. В User Mapping делаем соответствие БД, и ниже настраиваем права. Сервер должен быть настроен на SQL Server and Windows Authentication mode: правая кнопка мыши на сервере (первая строка в дереве), вкладка Security.Пример выборки
Рейтинг: 10.0. Голосов: 1
(0) Добавить комментарий
|