執行環境
ubuntu server 14.04+php5.5.9+apache2
操作步驟
sudo apt-get install php5-dev
2、解壓原始碼包到你的home目錄中,也可以你自己指定的目錄
tar -czvf php-5.5.12.tar.gz
3、根據以下的命令進行輸入,用過ubuntu的會知道命令什麼意思,這裡不解析
cd php-5.5.12/ext
./ext_skel --extname=bank //bank是我將要做的銀行介面系統擴充套件,這時會生成乙個bank的目錄,注意,如果ext_skel用的是舊版本,這裡可能會出錯
cd bank
vim config.m4
//把第16和第18行的dnl這個注釋符號去掉,去掉後是下面的樣子
php_arg_enable(bank, whether to enable bank support,
dnl make sure that the comment is aligned:
[ --enable-bank enable bank support])
4、執行phpize程式,這個命令不一定每個人的系統中都有,如果沒有請安裝。這個命令會在當前目錄生成一些檔案,如果執行完後你能在當前目錄下找到php_bank.h和bank.說明執行成功。
sudo apt-get install phpize //當phpize沒有時要執行這個命令安裝
phpize
5、修改php_bank.h檔案
vim php_bank.h
//找到php_function(confirm_hello_compiled)在下面增加自己的函式
php_function(bank_con);
6、修改bank.c,找到php_fe(confirm_hello_compiled, null)增加自己的函式
vim bank.c
php_fe(confirm_bank_compiled, null) /* for testing, remove later. */
php_fe(bank_con, null)
在這個檔案的最後面增加呼叫的函式體
php_function(bank_con)
7、開始配置
./configure --with-php-config=/usr/bin/php-config //注意php-config這個檔案是在安裝phpize時會產生的,如果沒有這個檔案是沒有辦法配置完成
make
make install
如果上面3個命令中有出錯的話,請從第3步開始重做吧。
8、修改php.ini讓他載入擴充套件
vim /etc/php5/apache2/php.ini
extension=bank.so
9、重啟apache,然後在phpinfo中就可以看到bank這個擴充套件的了。 php呼叫c 程式實現php功能擴充套件
今天需要乙個php寫乙個對ip進行加解密的演算法,其中需要用到將ip轉化為數字並對64位數字進行運算,網上找了一圈沒找到,故打算用c 實現功能,通過php來呼叫,功能最終實現1.php部分 通過system呼叫外部程式並進行引數傳遞 allip for i 0 i count json i coun...
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....
使用C語言來擴充套件PHP,寫PHP擴充套件dll
以前寫過一次php擴充套件dll,那個是利用呼叫系統的com口實現的擴充套件,與php不能真正融合。心血來潮,研究了一下php的原始碼,網上找了一些資料,自己嘗試寫了乙個擴充套件dll,測試沒問題。下面記錄一下具體擴充套件方法 3 把vc 6.0安裝目錄中的 microsoft visual stu...