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

Построение (сборка) PHP-интерфейса может потребоваться в следующих случаях:

  1. в составе дистрибутива СУБД ЛИНТЕР отсутствует готовая к использованию разделяемая библиотека Linter PHP-интерфейса;

  2. установленная на Вашем компьютере версия интерпретатора PHP не совпадает с версией, для которой был собран PHP-интерфейс СУБД ЛИНТЕР, поставляемый в составе дистрибутива.

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

  • установленные заголовочные файлы (или исходные тексты интерпретатора PHP);

  • C-компилятор и набор утилит для сборки (make, ld и т.п.).

Сборка PHP-интерфейса СУБД ЛИНТЕР может быть выполнена одним из следующих способов:

  1. сборка библиотеки средствами дистрибутива СУБД ЛИНТЕР:

    • из корневого каталога дистрибутива СУБД ЛИНТЕР запустить скрипт конфигурации соnfigure и ответить утвердительно на вопрос о настройке PHP-интерфейсов;

    • определить местоположение заголовочных PHP-файлов одним из предложенных в конфигураторе способов. При необходимости сборки многопоточной версии интерфейса, ответить утвердительно на соответствующий вопрос;

    • перейти в каталог /php дистрибутива СУБД ЛИНТЕР и выполнить команду make для сборки PHP-интерфейса. В результате готовая к использованию библиотека libphp_linter.so будет помещена в подкаталог /bin установочного каталога СУБД ЛИНТЕР.

  2. сборка библиотеки штатными средствами PHP (phpize):

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

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

      ./configure --with-linter=< PATH >
      make

      где < PATH > – полный путь до каталога дистрибутива СУБД ЛИНТЕР. Результатом будет собранная в подкаталоге /bin установочного каталога СУБД ЛИНТЕР библиотека libphp_linter.so.

  3. сборка библиотеки в виде встроенного расширения в PHP:

    • данный метод сборки подразумевает наличие исходного кода PHP с его последующей сборкой. Необходимо скопировать в отдельный каталог с именем /pdo_linter исходный код интерфейса и конфигурационный файл config.m4 из подкаталога /php дистрибутива СУБД ЛИНТЕР в каталог /ext в дереве исходного кода PHP;

    • корневом каталоге исходного кода PHP подать команду

      buildconf -force

      В результате в конфигураторе PHP появятся дополнительные опции: --with-linter=< PATH >, --with-mt-linter, --with-pdo-linter, где < PATH > – полный путь до каталога дистрибутива СУБД ЛИНТЕР;

    • при конфигурировании PHP необходимо указать опции:
      --enable-maintainer-zts – для сборки потокобезопасной версии PHP;
      --with-linter=< PATH > – полный путь до каталога дистрибутива СУБД ЛИНТЕР.