Это отрывок из часто задаваемых вопросов для клиентов, которые я написал недавно, чтобы помочь нашим клиентам, специализирующимся на хостинге, запустить PHP с драйверами MS SQL.Он может дублировать некоторые знания, уже переданные в комментариях выше, но его полнота может также помочь другим, начиная с нуля:
Примечание: Очевидно, что номера версий PHP немного изменились с тех пор, как я написалэто, но общие принципы все еще применяются.
Предварительные условия установки: Собственный клиент SQL требуется для драйверов Microsoft для PHP для SQL Server:
Собственный клиент Microsoft SQL Server 2008 R2 X64 - для 64-битной Windows
или
Собственный клиент Microsoft SQL Server 2008 R2 X32 - для 32-битной Windows
Загрузите и установите драйвер Native Client, соответствующий вашей системе.
Драйверы PHP MS SQL:
Загрузите драйверы Microsoft для PHP для SQLСервер:
Драйверы Microsoft для PHP для SQL Server
Файл является самораспаковывающимся исполняемым файлом, поэтому просто используйте 7zip или WinRAR и распакуйтефайлы тo папка на ваш выбор.Теперь нам нужно решить, какой драйвер выбрать, который соответствует вашей установке PHP.
PHP 5.3.5 поставляется в четырех различных вариантах:
- PHP 5.3.5 Non-threadsafe VC9
- PHP 5.3.5 Non-threadsafe VC6
- PHP 5.3.5 Threadsafe VC9
- PHP 5.3.5 Threadsafe VC6
Чтобы указать, какую версию вы используетеустановили, откройте файл snapshot.txt
, который находится в той же папке, что и php.exe
, php-cgi.exe
и т. д. Не используйте notepad.exe, поскольку файл использует только перевод строки (\n
) для конца строки (формат Unix)в начале, и блокнот объединяет их в одну строку.
В файле вы увидите строку (около строки 6 или около середины строки 1, в которой вы использовали блокнот), начиная с: Build:
:
Build: D:\php-sdk\snap_5_3\vc9\x86\obj\Release - non-threadsafe, VC9 build
Build: D:\php-sdk\snap_5_3\vc6\x86\obj\Release - non-threadsafe, VC6 build
Build: D:\php-sdk\snap_5_3\vc9\x86\obj\Release_TS - threadsafe, VC9 build
Build: D:\php-sdk\snap_5_3\vc6\x86\obj\Release_TS - threadsafe, VC6 build
Это говорит нам, какую версию PHP вы используете.
Из папки, в которую вы извлекли драйверы MS SQL PHP, выберите драйвер (ы), который соответствует версииИспользуемый PHP (если вы не используете PDO, вам не нужно копировать драйверы php_pdo_
):
PHP 5.3.5 Non-threadsafe VC9: php_sqlsrv_53_nts_vc9.dll, php_pdo_sqlsrv_53_nts_vc9.dll
PHP 5.3.5 Non-threadsafe VC6: php_sqlsrv_53_nts_vc6.dll, php_pdo_sqlsrv_53_nts_vc6.dll
PHP 5.3.5 Threadsafe VC9: php_sqlsrv_53_ts_vc9.dll, php_pdo_sqlsrv_53_ts_vc9.dll
PHP 5.3.5 Threadsafe VC6: php_sqlsrv_53_ts_vc6.dll, php_pdo_sqlsrv_53_ts_vc6.dll
Предполагая, что ваша установка PHP находится в C:\PHP
, скопируйте (НЕ ПЕРЕМЕЩАЙТЕ) эти файлы в папку C:\PHP\EXT
.
Откройте C:\PHP\PHP.INI
и найдите Dynamic Extensions
часть файла и добавьте:
extension=php_sqlsrv_53_nts_vc9.dll
extension=php_pdo_sqlsrv_53_nts_vc9.dll <-- optional
Наконец, чтобы PHP мог найти эти расширения, убедитесь, что директива extension_dir
в C:\PHP\PHP.INI
установлена в C:\PHP\EXT
:
extension_dir = C:\PHP\ext
Перезапустите IIS и позвоните phpinfo()
.Если все хорошо, вы должны увидеть:
![enter image description here](https://i.stack.imgur.com/yqDjc.jpg)
И если вы также загрузили драйвер PDO, вы должны увидеть:
![enter image description here](https://i.stack.imgur.com/km49f.jpg)