用C++扩展PHP

本文介绍了如何在UNIX环境下使用C++扩展PHP。首先通过PHP的ext_skel脚本创建扩展模块的基础架构,然后修改config.m4文件以支持C++,接着编写C++代码并处理C/C++变量空间不一致的问题,最后编译并安装扩展,包括通过phpize生成configure脚本、运行make和make install,以及如何动态加载和测试扩展。
摘要由CSDN通过智能技术生成
  
用C++扩展PHP
 
第1节. 开始之前
文章所描述的主要是在UNIX的PHP环境上的。
一些说明...
$PHP_HOME 是指你的PHP源代码的位置,如:你解开的PHP源代码包所放的位置。
我们用来做例子的模块叫做php5cpp.
 
 第2节.安装
在你用C++编写PHP扩展前,你先要搭建一个基本的扩展模块的架构。在UNIX下,你可以运行一个在 $PHP_HOME/ext 下叫做ext_skel 的shell脚本。先切换到 $PHP_HOME/ext 目录和执行那个shell脚本,并用 --extname 参数为你的扩展模块命名。
jay@monty ~ $ cd setup/php/php-5.x.x/ext
jay@month ext $ ./ext_skel --extname php5cpp
这样,在$PHP_HOME/ext/php5cpp下,我们已经有了一个基本的PHP扩展模块架构。唯一的问题是,它是为C搭建的,而不是为C++。
 
第3节.修改config.m4
现在我们要修改那个扩展模块的config.m4 文件以支持C++。
你不需要做太多的改动,要做的只是告诉编译PHP的系统,你的模块是使用C++的,而且需要连接C++标准库。下边是一个删去自动生成的注释后,php5cpp 扩展模块的config.m4文件的例子:
(红色部分是新加的,第四句中原来的.c文件改为.cpp)
PHP_ARG_ENABLE(php5cpp, for php5cpp support,
[ --enable-php5cpp            Enable php5cpp support])
 
if test "$PHP_php5cpp" != "no" ; then
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值