用C++扩展PHP源自天地常如客的CSDN原创第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~$cdsetup/php/php-5
x/extjay@monthext$
/ext_skel--extnamephp5cpp这样,在$PHP_HOME/ext/php5cpp下,我们已经有了一个基本的PHP扩展模块架构
唯一的问题是,它是为C搭建的,而不是为C++
第3节.修改config
m4现在我们要修改那个扩展模块的config
m4文件以支持C++
你不需要做太多的改动,要做的只是告诉编译PHP的系统,你的模块是使用C++的,而且需要连接C++标准库
下边是一个删去自动生成的注释后,php5cpp扩展模块的config
m4文件的例子:(红色部分是新加的,第四句中原来的
cpp)PHP_ARG_ENABLE(php5cpp,forphp5cppsupport,[--enable-php5cppEnablephp5cppsupport])iftest"$PHP_php5cpp"
="no";thenPHP_REQUIRE_CXX()PHP_ADD_LIBRARY_WITH_PATH(stdc++,"",PHP5CPP_SHARED_LIBADD)PHP_SUBST(PHP5CPP_SHARED_LIBADD)P