php的核心擴充套件怎麼寫

2021-09-30 03:18:04 字數 1357 閱讀 3333

方法

一、用c去寫php的核心擴充套件,然後php就像呼叫原生函式一樣呼叫

舉例如下

php_crypto.c

#include "stdio.h"

#include "php.h"

#include "php_crypto.h"

#include "netpayclient.h"

php_function(signorder)

chkvalue=emalloc(256*sizeof(char));

if(chkvalue==null)

return_long(-1);

convert_to_string(merid);

convert_to_string(merkeyfile);

convert_to_string(ordid);

convert_to_string(transamt);

convert_to_string(merdate);

convert_to_string(transtype);

convert_to_string(gateid);

convert_to_string(merpriv);

convert_to_string(bgreturl);

convert_to_string(pagereturl);

err=signorder(merid->value.str.val,merkeyfile->value.str.val,ordid->value.str.val,

transamt->value.str.val,merdate->value.str.val,transtype->value.str.val,

gateid->value.str.val,merpriv->value.str.val,bgreturl->value.str.val,pagereturl->value.str.val,chkvalue);

return_value->type=is_string;

if(err<0)

else

}php_crypto.h

#ifndef _php_crypto_h

#define _php_crypto_h

php_function(signorder);

#endif

將檔案php_crypto.h, php_crypto.c拷貝到php_src/ext/standard/目錄下然後相應修改basic_functions.c和basic_functions.h

修改makefile檔案。然後make ,make install編譯下就好了!

方法二、用c寫乙個標準的sock伺服器,php作為sock客戶機,通過你自己定義的協議訪問。

使用C語言來擴充套件PHP,寫PHP擴充套件dll

以前寫過一次php擴充套件dll,那個是利用呼叫系統的com口實現的擴充套件,與php不能真正融合。心血來潮,研究了一下php的原始碼,網上找了一些資料,自己嘗試寫了乙個擴充套件dll,測試沒問題。下面記錄一下具體擴充套件方法 3 把vc 6.0安裝目錄中的 microsoft visual stu...

使用C語言來擴充套件PHP,寫PHP擴充套件dll

以前寫過一次php擴充套件dll,那個是利用呼叫系統的com口實現的擴充套件,與php不能真正融合。心血來潮,研究了一下php的原始碼,網上找了一些資料,自己嘗試寫了乙個擴充套件dll,測試沒問題。下面記錄一下具體擴充套件方法 3 把vc 6.0安裝目錄中的 microsoft visual stu...

php攔截異常怎麼寫

php攔截異常可以通過php的錯誤 異常機制及其內建數 set exception handler set error handler register shutdown function 來寫。set exception handler 函式 用於攔截各種未捕獲的異常,然後將這些交給使用者自定義的...