Построение Linter PHP-интерфейса как динамической библиотеки

В составе дистрибутива СУБД ЛИНТЕР для ОС Windows поставляется только исходный код для самостоятельной сборки интерфейса. Сборка расширений для PHP под ОС Windows осуществляется компилятором MSVC. Для сборки PHP-расширений существует отдельный пакет разработчика (PHP Devel Pack), который необходимо установить перед непосредственной сборкой Linter PHP-интерфейса. На официальном Web-ресурсе https://windows.php.net можно получить всю необходимую информацию о дополнительных пакетах для PHP под ОС Windows. В частности, по адресу https://windows.php.net/downloads/releases/ расположены свежие сборки PHP и пакеты к нему.

Для сборки необходимо иметь:

  • развернутый пакет разработчика (PHP Devel Pack) в соответствии с используемой версией PHP;

  • компилятор MSVC и сопутствующий инструментарий к нему (версия компилятора MSVC, желательно, должна соответствовать той, которая использовалась при сборке непосредственно PHP под ОС Windows).

Сборка Linter PHP-интерфейса осуществляется с использованием утилиты phpize из состава пакета разработчика (PHP Devel Pack):

  • открыть командную строку Visual Studio в соответствии с разрядностью используемой версии PHP, перейти в подкаталог intlib\PHP дистрибутива СУБД ЛИНТЕР и выполнить команду phpize, результатом которой будет подготовленное окружение для сборки PHP-расширения, а также появление дополнительных опций конфигурирования: --with-linter=<​PATH​>, --with-mt-linter, --with-pdo-linter, где <​PATH​> – полный путь до каталога дистрибутива СУБД ЛИНТЕР;

  • для сборки библиотеки необходимо подать команды:

    configure.bat --with-linter=<​PATH​>
    nmake

    где <​PATH​> – полный путь до каталога дистрибутива СУБД ЛИНТЕР. Результатом будет собранная динамическая библиотека php_linter.dll в подкаталоге вида <​PHP_ARCHITECTURE​>\<​PHP_BUILD_TYPE​>, где <​PHP_ARCHITECTURE​> – разрядность сборки, <​PHP_BUILD_TYPE​> – тип сборки и метка потокобезопасности. Например, x64\Release_TS.