http://devzone.zend.com/node/view/id/1022
http://devzone.zend.com/node/view/id/1023
http://devzone.zend.com/node/view/id/1024
進入php5/ext目錄,用ext_skel --extname=modulename生成一個模板。
進入php5/ext/modulename/,打開config.m4,改寫成
PHP_ARG_ENABLE(picen, whether to enable picen support,
[ --enable-picen Enable picen support])
或
PHP_ARG_WITH(picen, whether to with picen support,
[ --with-picen with support])
if test "$PHP_!MODULENAME!" != "no"; then
PHP_REQUIRE_CXX()
PHP_SUBST(!MODULENAME!_SHARED_LIBADD)
PHP_ADD_LIBRARY(stdc++,"",!MODULENAME!_SHARED_LIBADD)
PHP_NEW_EXTENSION(!MODULENAME!, !MODULENAME!.cpp, $ext_shared)
fi
將!MODULENAME!替換爲你的模塊名。
打開你的cpp文件,將#include改爲
extern "C"
{
#include "php.h"
#include "php_ini.h"
#include "ext/standard/info.h"
}
將下面的ZEND_GET_MODULE改爲
extern "C"
{
#ifdef COMPILE_DL_!MODULENAME!
ZEND_GET_MODULE(!MODULENAME!)
#endif
}
phpize生成一個配置腳本。./configure生成一個Makefile文件。make命令就可以編譯了,編譯好的在modules文件夾裏面。用sudo make install可以將其拷貝到php5的extensions目錄中。