将 PECL 扩展静态编译到 PHP 中

可能需要将 PECL 扩展静态构建到 PHP 二进制文件中。为此,需要将扩展源代码放置在 /path/to/php/src/dir/ext/ 目录下,并且需要 PHP 构建系统重新生成其配置脚本。

$ cd /path/to/php/src/dir/ext
$ pecl download extname
$ gzip -d < extname.tgz | tar -xvf -
$ mv extname-x.x.x extname

这将导致以下目录


/path/to/php/src/dir/ext/extname

从这里,PHP 需要被强制重新构建配置脚本,然后可以像往常一样构建它


$ cd /path/to/php/src/dir
$ rm configure
$ ./buildconf --force
$ ./configure --help
$ ./configure --with-extname --enable-someotherext --with-foobar
$ make
$ make install

注意 要运行 buildconf 脚本,需要 autoconf 2.68automake 1.4+。较新的 autoconf 版本可能有效,但不支持。

使用 --enable-extname 还是 --with-extname 取决于扩展。通常,不需要外部库的扩展使用 --enable。为了确保,在 buildconf 之后运行以下命令


$ ./configure --help | grep extname

添加注释

用户贡献的注释 1 个注释

anthon at piwik dot org
11 年前
某些扩展不能静态链接(例如,xdebug)。
To Top