天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

探討:如何編寫PHP擴展

用C/C++擴展php的優缺點:
優點:
效率,還是效率
減少php腳本的復雜度, 極端情況下, 你只需要在php腳本中,簡單的調用一個擴展實現的函數,然后你所有的功能都就被擴展實現了
而缺點也是顯而易見的:
開發復雜
可維護性降低
開發周期變長, 最簡單的一個例子,當你用php腳本的時候, 如果你發現某個判斷條件出錯,你只要修改了這一行,保存,那么就立刻能見效。 而如果是在C/C++編寫的php擴展中, 那你可需要,修改源碼,重新編譯,然后重新load進php, 然后重啟Apache,才能見效。
如果你熟悉C,那么編寫一個php擴展,并不是什么非常難的事情。 php本身就提供了一個框架,來簡化你的開發。
最簡單的方式來開始一個php擴展的開發,是使用php提供的擴展框架wizard ext_skel, 它會生成一個php擴展所必須的最基本的代碼, 要使用它,首先你要下載php的源碼,或者開發包, 進入php源碼的ext目錄, 就會發現這個工具。
生成一個擴展:
./ext_skel --extname=myext
進入/myext,選擇擴展類型:
vi config.m4
下面兩種類型選一個就行了:
復制代碼 代碼如下:
//(依賴外部庫)
dnl php_ARG_WITH(myext, for myext support,
dnl Make sure that the comment is aligned:
dnl [ --with-myext Include myext support])
//去掉dnl
 php_ARG_WITH(myext, for myext support,
 Make sure that the comment is aligned:
 [  --with-myext             Include myext support])

//或者將 //(不依賴外部庫) dnl php_ARG_ENABLE(myext, whether to enable myext support,dnl Make sure that the comment is aligned:dnl [ --enable-myext Enable myext support])//去掉dnl
修改頭文件php_myext.h:
//php_FUNCTION(confirm_myext_compiled); /* For testing, remove later. */
//修改為
php_FUNCTION(myext); /* For testing, remove later. */
修改myext.c:
//將
//zend_function_entry myext_functions[] = {
// php_FE(confirm_myext_compiled, NULL) /* For testing, remove later. */
// {NULL, NULL, NULL} /* Must be the last line in myext_functions[] */
//};
//修改為
zend_function_entry myext_functions[] = {
php_FE(myext, NULL) /* For testing, remove later. */
{NULL, NULL, NULL} /* Must be the last line in myext_functions[] */
};
//在文件底部添加自己的函數
php_FUNCTION(myext)
{
zend_printf("Hello World!/n");
}
安裝自己的php擴展myext:
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make
make install


修改php.ini,添加:
extension = "myext.so"
重啟web服務器,查看phpinfo,即可看到自己的擴展:



新建測試php文件:

<?php
myext();

執行此文件,即可看到再熟悉不過的“Hello World!”。



php技術探討:如何編寫PHP擴展,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 狠狠撩色姣姣综合久久 | 亚洲日本一区二区三区在线不卡 | 美国色情三级欧美三级纸匠情挑 | 亚洲AV久久婷婷蜜臀无码不卡 | 国产精品国产三级国产AV麻豆 | 国产午夜在线观看视频 | 国产在线精品一区二区网站免费 | 午夜伦理电影在线观免费 | 美女脱了内裤张开腿让男人爽 | AV久久久囯产果冻传媒 | 成人国产精品视频频 | 亚洲午夜久久久精品影院 | 夜夜国产亚洲视频香蕉 | 好男人免费观看在线高清WWW | JAVAPARSER丰满白老师 | 亚洲三级黄色片 | 成人五级毛片免费播放 | 国产一区二区三区影院 | yw193.c国产在线观看 | 国产产乱码一二三区别免费 | 免费高清在线影片一区 | 久久理论片迅播影院一级 | 含羞草免费完整视频在线观看 | 国产精品VIDEOS麻豆TUBE | 日韩欧美成人免费中文字幕 | 色-情-伦-理一区二区三区 | 拔擦拔擦8X永久华人免费播放器 | 乱h好大噗嗤噗嗤烂了 | 美女被抽插到哭内射视频免费 | 2020精品国产视 | 国模大胆一区二区三区 | 欧美日韩北条麻妃一区二区 | 国产成人免费不卡在线观看 | 国产精品99久久久精品无码 | 乱奷XXXXXHD | 男人私gay挠脚心vk视频 | 9国产露脸精品国产麻豆 | 老太脱裤子让老头玩xxxxx | 伊人久久精品99热超碰 | 99这里有精品视频视频 | 色AV色婷婷66人妻久久久 |