Построение 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.