ubuntu12.04中如何使用c編寫(xiě)php擴(kuò)展模塊-創(chuàng)新互聯(lián)

這篇文章主要介紹了ubuntu12.04中如何使用c編寫(xiě)php擴(kuò)展模塊,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

從策劃到設(shè)計(jì)制作,每一步都追求做到細(xì)膩,制作可持續(xù)發(fā)展的企業(yè)網(wǎng)站。為客戶(hù)提供網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、網(wǎng)站策劃、網(wǎng)頁(yè)設(shè)計(jì)、域名與空間、網(wǎng)頁(yè)空間、網(wǎng)絡(luò)營(yíng)銷(xiāo)、VI設(shè)計(jì)、 網(wǎng)站改版、漏洞修補(bǔ)等服務(wù)。為客戶(hù)提供更好的一站式互聯(lián)網(wǎng)解決方案,以客戶(hù)的口碑塑造優(yōu)易品牌,攜手廣大客戶(hù),共同發(fā)展進(jìn)步。

系統(tǒng)是ubuntu 12.04,已經(jīng)安裝好了apache和php,php的版本是5.3.10。

以下操作如果碰到權(quán)限方面的問(wèn)題,建議切換成root操作。

1、下載源碼

簽出php 5.3.10的源代碼


代碼如下:


$ svn checkout https://svn.php.net/repository/php/php-src/branches/PHP_5_3_10/


Tips:如果沒(méi)有這個(gè)命令,需要先安裝svn,在ubuntu下直接使用apt-get安裝就OK了:

代碼如下:


$ sudo apt-get install subversion


關(guān)于php源碼,如需要了解更多信息,可以查看php維基中關(guān)于svn的說(shuō)明:https://wiki.php.net/vcs/svnfaq

2、創(chuàng)建模塊

a、源碼簽出完畢后,進(jìn)入源碼ext目錄,先用ext_skel創(chuàng)建一個(gè)模塊, 模塊名為my:

代碼如下:


$ ./ext_skel --extname=my


b、進(jìn)入my模塊:

代碼如下:


$ cd my


c、修改config.m4文件,找到如下內(nèi)容:

代碼如下:


dnl PHP_ARG_WITH(my, for my support,
dnl Make sure that the comment is aligned:
dnl [  --with-my             Include my support])


將前面的dnl去除,最后如下:

代碼如下:


PHP_ARG_WITH(my, for my support,
Make sure that the comment is aligned:
[  --with-my             Include my support])


然后保存文件。

Tips:如果需要測(cè)試下修改是否正確,可以使用php my.php來(lái)測(cè)試下:

代碼如下:


$ php my.php
confirm_my_compiled

Congratulations! You have successfully modified ext/my/config.m4. Module my is now compiled into PHP.


上面confirm_my_compiled就是模塊默認(rèn)的函數(shù),后面將該模塊加載后,就可以調(diào)用這個(gè)函數(shù)了。

3、編譯模塊

還是在my模塊的目錄下執(zhí)行下面命令:

代碼如下:


$ phpize
$ ./configure
$ make
$ make install


編譯成功后,會(huì)提示這樣的信息:


代碼如下:


Installing shared extensions: /usr/lib/php5/20090626+lfs/


表示模塊已經(jīng)編譯完成,并且復(fù)制到php模塊目錄了。

Tips:如果phpize命令沒(méi)有找到,需要安裝下php5-dev,在ubuntu下直接使用apt-get安裝就OK了。

代碼如下:


$ apt-get install php5-dev


4、加載模塊

編輯文件:


代碼如下:


$ vim /etc/php5/conf.d/my.ini


增加如下內(nèi)容,表示加載my.so模塊,然后保存。

代碼如下:


extension=my.so


重新啟動(dòng)apache

代碼如下:


$ /etc/init.d/apache2 restart


在web環(huán)境下,可以用phpinfo看看是否加載my模塊了。終端可以使用php -i | less查看。

5、編寫(xiě)測(cè)試程序

如果上面都執(zhí)行順利,那么my模塊就加載進(jìn)來(lái)了,my模塊的默認(rèn)的一個(gè)方法confirm_my_compiled也就可以調(diào)用了。編寫(xiě)php測(cè)試文件:


代碼如下:


echo confirm_my_compiled("Hello");


執(zhí)行測(cè)試文件,如果看到下面的輸出,那么就成功了。


代碼如下:


Congratulations! You have successfully modified ext/my/config.m4. Module Hello is now compiled into PHP.


感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“ubuntu12.04中如何使用c編寫(xiě)php擴(kuò)展模塊”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,,關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!

分享標(biāo)題:ubuntu12.04中如何使用c編寫(xiě)php擴(kuò)展模塊-創(chuàng)新互聯(lián)
本文鏈接:http://bm7419.com/article36/ihppg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、網(wǎng)站設(shè)計(jì)公司、面包屑導(dǎo)航、搜索引擎優(yōu)化、網(wǎng)站策劃、服務(wù)器托管

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)