C++編寫PHP擴展

http://devzone.zend.com/node/view/id/1021
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目錄中。
發佈了37 篇原創文章 · 獲贊 2 · 訪問量 15萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章