Hello World: 第一个PHP扩展
来源:未知 责任编辑:责任编辑 发表时间:2014-01-20 07:52 点击:次
目标
创建一个名为 hello 的 PHP 扩展,并实现里面唯一的函数 hello_world,作用是打印出 "Hello World" 字符串。
前提条件
一台已经安装了 C 编译器、PHP 运行环境的电脑,一个称手的文本编辑器。
重要提示:不要试图在 Windows 下写 PHP 扩展,Visual C、MinGW 的编译器都不好用,我曾经捣鼓了一个多星期也没能在 Windows 下编译成功过。所以至少要在一个 Unix 环境下进行。Mac 和各种 Linux 环境都可以。
下载 PHP 源代码
先用 php -v 确定系统上的 PHP 版本,再到 php.net 上下载相应的源代码包。解压到某个目录下,如 php5-5.3.5。源代码目录里,ext 目录下即是所有的 PHP 扩展所在的地方,其他的目录暂时不必考虑。
生成 PHP 扩展的框架代码
在 php5-5.3.5/ext 目录下,有一个名为 ext_skel 的文件,这是用来创建扩展的一个简便的工具。确保它有可执行权限(chmod u+x ext_skel),在终端下执行
./ext_skel --extname=hello
即会在 ext 目录下创建一个 hello 的目录,里面是初始的骨架代码。下一步的任务是创建 hello 扩展,并实现 hello_world 函数。
编辑 config.m4
用文本编辑器打开 ext/hello/config.m4,里面有大量的注释说明(以 dnl 开头的行),基本上已经把很多问题说明白了。这里要做的就是把
dnl PHP_ARG_ENABLE(hello, whether to enable hello support, dnl Make sure that the comment is aligned: dnl [ --enable-hello Enable hello support])
这三行取消注释。这样在接下来的编译时,可以用 ./configure --enable-hello 来编译我们刚刚写的扩展。
重新生成 configure
- 发表评论
-
- 最新评论 更多>>