PECL-Erweiterungen statisch in PHP kompilieren

In manchen Fällen müssen Sie vielleicht eine PECL-Erweiterung statisch in Ihr PHP-Binary kompilieren. Dazu müssen Sie den Quellcode der Erweiterung in das Verzeichnis /your/phpsrcdir/ext/ einfügen und das PHP-Build-System anweisen, sein configure-Skript neu zu generieren.

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

Dadurch wird das folgende Verzeichnis erstellt:


/your/phpsrcdir/ext/extname

An dieser Stelle veranlassen Sie PHP, das configure-Skript neu zu erstellen, und bauen PHP anschließend wie gewohnt:


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

Hinweis: Um das Skript "buildconf" auszuführen, benötigen Sie autoconf 2.13 und automake 1.4+ (neuere Versionen von autoconf könnten funktionieren, werden aber nicht unterstützt).

Ob --enable-extname oder --with-extname verwendet wird, hängt von der Erweiterung ab. Bei einer Erweiterung, die keine externen Bibliotheken benötigt, wird in der Regel --enable verwendet. Um sicher zu sein, können Sie nach buildconf folgenden Befehl ausführen:


$ ./configure --help | grep extname

add a note

User Contributed Notes 1 note

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