Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Эта статья содержит инструкции по загрузке драйверов Майкрософт для PHP для SQL Server в пространство процессов PHP.
Вы можете загрузить готовые драйверы для вашей платформы со страницы проекта Microsoft Drivers for PHP for SQL Server на GitHub. Каждый пакет установки содержит файлы драйверов SQLSRV и PDO_SQLSRV в потоках и непоточных вариантах. В Windows они также доступны в 32- и 64-разрядной версиях. Список файлов драйверов, содержащихся в каждом пакете, см. в статье System Requirements for the Microsoft Drivers for PHP for SQL Server (Системные требования драйверов Майкрософт для PHP для SQL Server). Файл драйвера должен соответствовать версии PHP, архитектуре и потоковости среды PHP.
В Linux и macOS драйверы можно также установить с помощью PECL, как описано в учебнике по установке.
Вы также можете создать драйверы из источника при разработке PHP или с помощью phpize. Если вы решили создать драйверы из источника, можно создать их статически в PHP, а не в качестве общих расширений, добавив --enable-sqlsrv=static --with-pdo_sqlsrv=static (в Linux и macOS) или --enable-sqlsrv=static --with-pdo-sqlsrv=static (в Windows) в команду ./configure при компиляции PHP. Дополнительные сведения о системе сборки PHP и phpize см. в документации по PHP.
Перемещение файла драйвера в каталог расширений
Файл драйвера должен размещаться в каталоге, где среда выполнения PHP сможет его найти. Проще всего поместить файл драйвера в каталог расширения PHP по умолчанию, чтобы найти каталог по умолчанию, запустить php -i | sls extension_dir в Windows или php -i | grep extension_dir Linux или macOS. Если вы не используете каталог расширений по умолчанию, укажите каталог в файле конфигурации PHP (php.ini), используя параметр extension_dir . Например, в Windows, если вы помещаете файл драйвера в c:\php\ext каталог, добавьте следующую строку в php.ini:
extension_dir = "c:\PHP\ext"
Загрузка драйвера при запуске PHP
Чтобы загружать драйвер SQLSRV при запуске PHP, сначала поместите файл драйвера в свой каталог расширений. Затем выполните следующие действия:
Чтобы включить драйвер SQLSRV , измените php.ini , добавив следующую строку в раздел расширения, изменив имя файла в соответствии с версией PHP и потокобезопасной и непоточной установкой:
В Windows:
extension=php_sqlsrv_83_ts.dllНа Linux, если вы скачали заготовленные двоичные файлы для вашего дистрибутива:
extension=php_sqlsrv_83_nts.soЕсли вы скомпилировали двоичный файл SQLSRV из источника или с помощью PECL, его имя sqlsrv.so:
extension=sqlsrv.soЧтобы включить драйвер PDO_SQLSRV, расширение PHP Data Objects (PDO) должно быть доступно либо как встроенное расширение, либо как динамически загружаемое.
В Windows предварительно созданные двоичные файлы PHP приходят со встроенным PDO, поэтому не нужно изменять php.ini для его загрузки. Однако, если вы скомпилировали PHP из исходного кода и указали построение отдельного расширения PDO, названного
php_pdo.dll, необходимо скопировать его в каталог расширений и добавить следующую строку в php.ini:extension=php_pdo.dllВ Linux, если вы установили PHP с помощью диспетчера пакетов системы, PDO, вероятно, устанавливается в качестве динамического загруженного расширения с именем pdo.so. Расширение PDO должно быть загружено перед расширением PDO_SQLSRV, иначе произойдет сбой загрузки. Расширения загружаются с помощью отдельных .ini файлов, и эти файлы считываются после php.ini. Таким образом, если файл pdo.so загружается с использованием собственного INI-файла, то после PDO понадобится отдельный файл, загружающий драйвер PDO_SQLSRV.
Чтобы узнать, в каком каталоге находятся INI-файлы, относящиеся к расширению, запустите
php --iniи обратите внимание на каталог, указанный в разделеScan for additional .ini files in:. Найдите файл, загружающий pdo.so. Он должен быть префиксирован числом, например 10-pdo.ini. Числовый префикс указывает порядок загрузки файлов .ini, а файлы, у которых нет числового префикса, загружаются в алфавитном порядке. Создайте ini-файл для загрузки драйвера PDO_SQLSRV с именем 30-pdo_sqlsrv.ini (любое число, большее, чем число, стоящее перед pdo.ini) или pdo_sqlsrv.ini (если перед pdo.ini нет префикса с числом) и, соответствующим образом изменив имя файла, добавьте в него следующую строку:extension=php_pdo_sqlsrv_3_nts.soКак и в случае с SQLSRV, если вы скомпилировали двоичный файл PDO_SQLSRV из источника или с помощью PECL, его имя равно pdo_sqlsrv.so:
extension=pdo_sqlsrv.soСкопируйте этот файл в каталог, содержащий другие INI-файлы.
Если вы скомпилировали PHP из источника со встроенной поддержкой PDO, вам не нужен отдельный .ini файл, и вы можете добавить предыдущую строку в php.ini.
Перезапустите веб-сервер.
Примечание.
Чтобы определить, успешно ли загружен драйвер, запустите скрипт, вызывающий phpinfo().
Дополнительные сведения о директивах php.ini см. в статье Описание встроенных директив php.ini.
См. также
Getting Started with the Microsoft Drivers for PHP for SQL Server (Начало работы с драйверами Майкрософт для PHP для SQL Server)
Системные требования драйверов Майкрософт для PHP для SQL Server
Руководство по программированию драйверов Microsoft для PHP для SQL Server