PHP на IIS7 с поддержкой (PDO) MS-SQL - PullRequest
3 голосов
/ 21 марта 2012

Я использую сервер Windows IIS 7, и соответствующая часть команды configure моего phpinfo в настоящее время сообщает об этом:

cscript / nologo configure.js ...... "--without-mssql" "--without-pdo-mssql" "--without-pi3web" ...... "--with-mcrypt = static"

Что мне нужно сделать с моим сервером, чтобы я мог видеть выше с-mssql, а не без-mssql?

Однажды мне сказали перекомпилировать PHP. Вот где доллар остановился. Потому что этот PHP поставлялся с установкой IIS, поэтому нам никогда не требовалось компилировать PHP раньше. Перекомпиляция ... это командная строка?

Ответы [ 2 ]

9 голосов
/ 21 марта 2012

Поддержка и расширения Microsoft SQL Server больше не поставляются с PHP. Для соединения PHP с SQL Server вам потребуется Драйверы Microsoft для PHP для SQL Server :

Драйверы Microsoft для PHP для SQL Server - это расширение PHP 5, которое обеспечивает доступ к данным SQL Server 2005 и более поздних версий, включая SQL Azure.

На странице загрузки драйверов перечислены четыре версии на выбор. Обратитесь к странице Системные требования , чтобы определить, какая версия вам нужна. Вы должны установить правильный драйвер для вашей комбинации операционной системы + SQL Server + PHP .

Вам также понадобится один из них в зависимости от того, какой драйвер вы выберете (они должны быть установлены отдельно):

  • Собственный клиент SQL Server
  • Microsoft ODBC Driver 11 для SQL Server

Программа установки просто извлекает файлы в указанном месте. Вы должны файлы в каталог расширений PHP. Файлы являются расширениями PHP. Имена файлов указывают:

  • nts/ts - следует использовать с версией PHP, не ориентированной на многопотоковую / поточную безопасность
  • 54/55/56... - должен использоваться с PHP версии 5.4, 5.5, 5.6, ...
  • sqlsrv/pdo_sqlsrv - обеспечивает процедурный интерфейс / интерфейс PDO

Включите расширения в файле php.ini, убедившись, что безопасность потоков и версии PHP совпадают.

Проверьте phpinfo, чтобы увидеть, загружены ли расширения. Проверьте sqlsrv_connect("servername") и new PDO("sqlsrv:server=servername"), чтобы убедиться, что расширения работают.

0 голосов
/ 17 сентября 2012

Эту проблему можно решить с помощью диспетчера PHP в IIS 7.0. Перейти к PHP Manager -> Расширения PHP -> Включить отключение расширений -> Список отключений Включить ваш PHP_PDO_SQLSRV_54_ts.dll

будет работать с префектом

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...