Компиляция расширений PECL статически в PHP

Возможно, вы захотите собрать расширение PECL статично в ваш бинарный файл PHP. Для этого необходимо поместить код расширения в директорию php-src/ext/ и вызвать перегенерацию конфигурационных скриптов через систему сборки PHP.

$ cd /your/phpsrcdir/ext
$ pecl download extname
$ gzip -d < extname.tgz | tar -xvf -
$ mv extname-x.x.x extname

В результате будет создана следующая директория:


/your/phpsrcdir/ext/extname

После этого, выполните заново сборку конфигурационного скрипта PHP и затем соберите PHP как обычно:


$ cd /your/phpsrcdir
$ rm configure
$ ./buildconf --force
$ ./configure --help
$ ./configure --with-extname --enable-someotherext --with-foobar
$ make
$ make install

Замечание: Для запуска 'buildconf' скрипта вам понадобится autoconf версии 2.13 и automake версии 1.4+ (более новые версии autoconf могут работать, но это не поддерживается).

В зависимости от расширения будет использоваться одна из двух опций --enable-extname или --with-extname . Обычно, если расширение не требует подключения внешних библиотек, используется --enable. Чтобы узнать это, выполните следующую команду после buildconf:


$ ./configure --help | grep extname

add a note add a note

User Contributed Notes 1 note

up
2
anthon at piwik dot org
5 years ago
Some extensions cannot be statically linked (e.g., xdebug).
To Top