本方法适用于PHP4.3版本。
总体思路:
一般要调用C语言的函数需要自己写PHP扩展,而以filename.a命名的静态库的函数是以C语言的方式来调用的,所以如何编写PHP扩展也是本文涉及到的重点。编译PHP的步骤是:写PHP扩展->把静态库加入PHP->编译PHP。
我的环境是:Linux Redhat7.3 Apache1.3.29 PHP4.3.4
写PHP扩展:
这部分内容请参考CSDN上Yorgo sun写的文档:http://dev.csdn.net/develop/article/12/12404.shtm。上面的内容很全,说得也非常清楚,即使从来没有写过PHP扩展的人看了也能明白。但在这个文档中没有如何调用静态库的方法,所以在最终编译PHP前要加入以下一步。
把静态库加入PHP:
把要编译的静态库链接存入环境变量。假设静态库的文件名叫libnpc.a,放在/home目录下。在PHP的安装目录下输入如下命令:export LDFLAGS=”–L/home –lnpc”
这个环境变量的作用就是让PHP在编译时知道要把这个库也一起编译进去。
编译PHP:
和普通编译PHP没什么大区别,就是要在./configure的时候加上你的扩展,具体见编写PHP扩展部分。
当编译好之后可以通过unset LDFLAGS来删除之前的环境变量。
简介:
本文由网友ray428提供,讲述了在Linux下如何将静态库编译到PHP的扩展中。他的MSN:ray428_yang@msn.com