<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <HTML ><HEAD ><TITLE >将 PECL 扩展库静态编译入 PHP</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" TITLE="PHP 手册" HREF="index.html"><LINK REL="UP" TITLE="PECL 扩展库安装" HREF="install.pecl.html"><LINK REL="PREVIOUS" TITLE="用 phpize 编译共享 PECL 扩展库" HREF="install.pecl.phpize.html"><LINK REL="NEXT" TITLE="还有问题?" HREF="install.problems.html"><META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=UTF-8"></HEAD ><BODY CLASS="sect1" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#840084" ALINK="#0000FF" ><DIV CLASS="NAVHEADER" ><TABLE SUMMARY="Header navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TH COLSPAN="3" ALIGN="center" >PHP 手册</TH ></TR ><TR ><TD WIDTH="10%" ALIGN="left" VALIGN="bottom" ><A HREF="install.pecl.phpize.html" ACCESSKEY="P" >上一页</A ></TD ><TD WIDTH="80%" ALIGN="center" VALIGN="bottom" >章 7. PECL 扩展库安装</TD ><TD WIDTH="10%" ALIGN="right" VALIGN="bottom" ><A HREF="install.problems.html" ACCESSKEY="N" >下一页</A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><DIV CLASS="sect1" ><H1 CLASS="sect1" ><A NAME="install.pecl.static" >将 PECL 扩展库静态编译入 PHP</A ></H1 ><P > 有时可能需要将扩展库静态编译到 PHP 中。这需要将扩展库源程序放入 <TT CLASS="filename" >php-src/ext/</TT > 目录中去并告诉 PHP 编译系统来生成其配置脚本。 </P ><P > <TABLE BORDER="0" BGCOLOR="#E0E0E0" CELLPADDING="5" ><TR ><TD ><PRE CLASS="screen" >$ cd /your/phpsrcdir/ext $ pear download extname $ gzip -d < extname.tgz | tar -xvf - $ mv extname-x.x.x extname</PRE ></TD ></TR ></TABLE > </P ><P > 这将产生以下目录: </P ><P > <TABLE BORDER="0" BGCOLOR="#E0E0E0" CELLPADDING="5" ><TR ><TD ><PRE CLASS="screen" >/your/phpsrcdir/ext/extname</PRE ></TD ></TR ></TABLE > </P ><P > 此时强制 PHP 重新生成配置脚本,然后正常编译 PHP: </P ><P > <TABLE BORDER="0" BGCOLOR="#E0E0E0" CELLPADDING="5" ><TR ><TD ><PRE CLASS="screen" >$ cd /your/phpsrcdir $ rm configure $ ./buildconf --force $ ./configure --help $ ./configure --with-extname --enable-someotherext --with-foobar $ make $ make install</PRE ></TD ></TR ></TABLE > </P ><DIV CLASS="note" ><BLOCKQUOTE CLASS="note" ><P ><B >注意: </B > 要运行“buildconf”脚本,需要 autoconf 2.13 和 automake 1.4+(更新版本的 autoconf 也许能工作,但不被支持)。 </P ></BLOCKQUOTE ></DIV ><P > 是否用 <TT CLASS="literal" >--enable-extname</TT > 或 <TT CLASS="literal" >--with-extname</TT > 取决于扩展库。通常不需要外部库文件的扩展库使用 <TT CLASS="literal" >--enable</TT >。要确认的话,在 buildconf 之后运行: </P ><P > <TABLE BORDER="0" BGCOLOR="#E0E0E0" CELLPADDING="5" ><TR ><TD ><PRE CLASS="screen" >$ ./configure --help | grep extname</PRE ></TD ></TR ></TABLE > </P ></DIV ><DIV CLASS="NAVFOOTER" ><HR ALIGN="LEFT" WIDTH="100%"><TABLE SUMMARY="Footer navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" ><A HREF="install.pecl.phpize.html" ACCESSKEY="P" >上一页</A ></TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="index.html" ACCESSKEY="H" >起始页</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" ><A HREF="install.problems.html" ACCESSKEY="N" >下一页</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" >用 phpize 编译共享 PECL 扩展库</TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="install.pecl.html" ACCESSKEY="U" >上一级</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" >还有问题?</TD ></TR ></TABLE ></DIV ></BODY ></HTML >