進入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"
將下面的zend_get_module改為
extern "c"
phpize生成乙個配置指令碼。./configure生成乙個makefile檔案。make命令就可以編譯了,編譯好的在modules資料夾裡面。用sudo make install可以將其拷貝到php5的extensions目錄中。
編寫PHP的C擴充套件
為了提高逼格,我決定自己實現php的擴充套件 一 步驟過程 1 編寫預定義檔案 vim root mark function module.def 內容為int a int x,int y 2 生成擴充套件目錄 mark function module為模組名 cd usr local php ex...
c 寫php擴充套件,如何用C語言編寫PHP擴充套件的詳解
1 預定義 在home目錄,也可以其他任意目錄,寫乙個檔案,例如caleng module.def 內容是你希望定義的函式名以及引數 int a int x,int y string b string str,int n 2 到php原始碼目錄的ext目錄 cd usr local php 5.4....
編寫PHP擴充套件補遺
關於config.m4的用法 幾個函式的介紹,php add library x,modulename shared libadd php add include path x是需要附加編譯的條件,即 l x,path是標頭檔案之類的路徑。如果有多個檔案需要編譯,可以這樣修改php new exte...