Бөлісу құралы:


Загрузка драйверов Майкрософт для PHP для SQL Server

Скачать драйвер PHP

Эта статья содержит инструкции по загрузке драйверов Майкрософт для 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, сначала поместите файл драйвера в свой каталог расширений. Затем выполните следующие действия:

  1. Чтобы включить драйвер 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
    
  2. Чтобы включить драйвер 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.

  3. Перезапустите веб-сервер.

Примечание.

Чтобы определить, успешно ли загружен драйвер, запустите скрипт, вызывающий 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

Справочник по API для драйвера SQLSRV

Справочник по API драйвера PDO_SQLSRV