方法
一、用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 函式 用於攔截各種未捕獲的異常,然後將這些交給使用者自定義的...