某些扩展无法静态链接(例如,xdebug)。
可能需要将PECL扩展静态编译到PHP二进制文件中。为此,需要将扩展源代码放在/path/to/php/src/dir/ext/目录下,并且需要PHP构建系统重新生成其configure脚本。
$ 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重新构建configure脚本,然后就可以像往常一样构建了
$ 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.68
和automake1.4+
。较新的autoconf版本可能有效,但不支持。
使用--enable-extname还是--with-extname取决于扩展。通常,不需要外部库的扩展使用--enable。为确保,在buildconf之后运行以下命令:
$ ./configure --help | grep extname