В этой статье мы расскажем о всех тонкостях подключения к 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 Version | Supported 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 Version | Supported 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.
После того как вы определились с файлом драйвера, который нужен вам, переходим к настройке php.ini. В первую очередь находим там строчку extension_dir = и удостоверяемся, что она не закомментирована, она указывает путь к расширениям, именно по этому пути открываем соответствующую директорию и закидываем туда библиотеку драйвера, в нашем случае это был php_sqlsrv_54_ts.dll, у вас может быть другая версия драйвера.
Теперь добавляем в php.ini строку с подключением драйвера extension=php_sqlsrv_54_ts.dll. Перезапускаем сервер и проверяем phpinfo(). Если всё произошло успешно вы должны обнаружить блок sqlsrv:
Теперь проверяем соединение с БД при помощи следующего шаблона:
Если получаем "Connection established." - радуемся. Если "Connection could not be established." и гору сообщений об ошибках, то перечитываем статью, после этого уже пишем в комментарии.
Мы пробовали всё на локальном компьютере - сервер OpenServer, версия PHP - 5.4.44, MS SQL Server 2014, имя БД - StudyBD.
Напоследок так же ссылка на на описание API драйвера.
Добавить комментарий
Авторизоваться с помощью: