PHP的高手低手,都知道PHP是可以扩展的。但是,却没有实践过多少。今天,作者就带大家走走这趟路,写一个小的扩展出来。功能不在乎多强大,只是探探路。
作者的开发环境是ubuntu11.04桌面版。
先下载php的源代码,去php.net上找一下,下载下来解压就好了。然后,进入源代码目录中的ext子目录。用命令行给extskel文件执行权限,这个文件是建立php扩展的框架用的。然后运行cd 到ext的目录。执行./extskel extname=tianmen,其中extname等于的是你要写的php扩展的名字。命令运行以后会在ext目录下多出一个目录,该目录与你的扩展的目录同名。
进入该目录,vi config.m4。
找到其中的这几行:
dnl PHP_ARG_ENABLE(tianmen, whether to enable tianmen support,
dnl Make sure that the comment is aligned:
dnl [ --enable-tianmen Enable tianmen support])
dnl表示的是注释,将dnl去掉,保证每一行的前边没有空格。
然后保存退出。
接着运行phpize,如果没有运行sudo apt-get insall php5-dev。
就会出现熟悉的configure文件。
./configure
然后make ,接着make install。你写的扩展就到扩展的目录下了。
然后,cd到/etc/php5/apache2/conf.d/新建一个ini文件,或者加到其他ini文件的尾部。
[tianmen] 中括号中写你的扩展的名字
extension=tianmen.so 引入你的so文件。
保存退出,重启apache。
然后新建一个php文件,写入一个测试函数confirm_tianmen_compiled(‘tianmen’)将其中的tianmen替换成你的扩展的名字就好了。 |