將 PECL 擴(kuò)展庫(kù)靜態(tài)編譯入 PHP

有時(shí)可能需要將擴(kuò)展庫(kù)靜態(tài)編譯到 PHP 中。這需要將擴(kuò)展庫(kù)源程序放入 /your/phpsrcdir/ext/ 目錄中去并告訴 PHP 編譯系統(tǒng)來(lái)生成其配置腳本。

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

這將產(chǎn)生以下目錄:


/your/phpsrcdir/ext/extname

此時(shí)強(qiáng)制 PHP 重新生成配置腳本,然后正常編譯 PHP:


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

注意: 要運(yùn)行“buildconf”腳本,需要 autoconf 2.13 和 automake 1.4+(更新版本的 autoconf 也許能工作,但不被支持)。

是否用 --enable-extname--with-extname 取決于擴(kuò)展庫(kù)。通常不需要外部庫(kù)文件的擴(kuò)展庫(kù)使用 --enable。要確認(rèn)的話(huà),在 buildconf 之后運(yùn)行:


$ ./configure --help | grep extname