濮阳杆衣贸易有限公司

主頁 > 知識(shí)庫 > php擴(kuò)展開發(fā)入門demo示例

php擴(kuò)展開發(fā)入門demo示例

熱門標(biāo)簽:江蘇電商外呼系統(tǒng)運(yùn)營商 銅川電話機(jī)器人價(jià)格 AI電話機(jī)器人OEM貼牌 德陽中江如何申請(qǐng)400開頭電話 聊城電話外呼系統(tǒng)公司 青白江地圖標(biāo)注 沛縣400電話辦理 辦理重慶400電話 智能電話機(jī)器人好公司門薩維

本文實(shí)例講述了php擴(kuò)展開發(fā)。分享給大家供大家參考,具體如下:

一、進(jìn)入php源碼包,找到ext文件夾

cd /owndata/software/php-5.4.13/ext

文件夾下放的都是php的相關(guān)擴(kuò)展模塊

二、生成自己的擴(kuò)展文件夾和相關(guān)文件

php支持開發(fā)者開發(fā)自己的擴(kuò)展,提供了ext_skel骨架,用來構(gòu)建擴(kuò)展基本文件

./ext_skel --extname=myext

運(yùn)行完成后,會(huì)在ext目錄下生產(chǎn)一個(gè)myext擴(kuò)展目錄

三、編寫一個(gè)hello world簡單測試擴(kuò)展

cd myext

1.編輯myext目錄下的config.m4文件

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

將上面這段改成

PHP_ARG_WITH(myext, for myext support,
 
[ --with-myext       Include myext support])

2.編輯php_myext.h文件

修改php_myext.h,看到PHP_FUNCTION(confirm_myext_compiled); 這里就是擴(kuò)展函數(shù)聲明部分,可以增加一

PHP_FUNCTION(myext_helloworld);

3.編輯myext.c文件在這個(gè)里面增加一行PHP_FE(myext_helloworld,  NULL)

const zend_function_entry myext_functions[] = {
    PHP_FE(confirm_myext_compiled, NULL)      /* For testing, remove later. */
    PHP_FE(myext_helloworld, NULL)
    PHP_FE_END   /* Must be the last line in myext_functions[] */
};

最后在文件末尾加入myext_helloworld執(zhí)行代碼

PHP_FUNCTION(myext_helloworld)
{
    char *arg = NULL;
  int arg_len, len;
  char *strg;
  if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", arg, arg_len) == FAILURE) {
    return;
  }
  php_printf("my first ext,Hello World!\n");
  RETRUN_TRUE;
}

四、編譯php擴(kuò)展

在myext目錄下運(yùn)行phpize

/usr/local/webserver/php/bin/phpize

安裝擴(kuò)展

./configure --with-php-config=/usr/local/webserver/php/bin/php-config
 
make  make install

然后在php安裝的目錄下生產(chǎn).so的文件

/usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20100525/myext.so

復(fù)制myext.so文件到php安裝的擴(kuò)展目錄下

cp myext.so /usr/local/webserver/php/ext/

編輯php.ini文件加入一行擴(kuò)展路徑

extension=/usr/local/webserver/php/ext/myext.so

重啟php-fpm

service php restart

查看php擴(kuò)展是否安裝進(jìn)去了

/usr/local/webserver/php/bin/php -m|grep myext

確認(rèn)成功后測試myext打印helloworld

 /usr/local/webserver/php/bin/php -r "myext_helloworld('test');"

或者創(chuàng)建demo.php

?php
echo myext_helloworld('test');
?>

/usr/local/webserver/php/bin/php demo.php

運(yùn)行后輸出

my first ext,Hello World!

自此擴(kuò)展開發(fā)小demo就實(shí)現(xiàn)了

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP擴(kuò)展開發(fā)教程》、《PHP網(wǎng)絡(luò)編程技巧總結(jié)》、《php curl用法總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《PHP數(shù)據(jù)結(jié)構(gòu)與算法教程》、《php程序設(shè)計(jì)算法總結(jié)》及《php字符串(string)用法總結(jié)》

希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。

您可能感興趣的文章:
  • PHP擴(kuò)展開發(fā)教程(總結(jié))
  • PHP擴(kuò)展開發(fā)入門教程
  • PHP內(nèi)核介紹及擴(kuò)展開發(fā)指南—基礎(chǔ)知識(shí)
  • 初步介紹PHP擴(kuò)展開發(fā)經(jīng)驗(yàn)分享
  • PHP7擴(kuò)展開發(fā)教程之Hello World實(shí)現(xiàn)方法示例
  • PHP7擴(kuò)展開發(fā)之基于函數(shù)方式使用lib庫的方法詳解
  • PHP7擴(kuò)展開發(fā)之hello word實(shí)現(xiàn)方法詳解
  • 快速開發(fā)一個(gè)PHP擴(kuò)展圖文教程
  • 詳解Window7 下開發(fā)php擴(kuò)展
  • 一個(gè)簡單php擴(kuò)展介紹與開發(fā)教程
  • 關(guān)于嘗試開發(fā)PHP的MYSQL擴(kuò)展的使用
  • windows下開發(fā)并編譯PHP擴(kuò)展的方法

標(biāo)簽:三亞 濟(jì)寧 迪慶 南寧 山南 鷹潭 赤峰 烏魯木齊

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《php擴(kuò)展開發(fā)入門demo示例》,本文關(guān)鍵詞  php,擴(kuò)展,開發(fā),入門,demo,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《php擴(kuò)展開發(fā)入門demo示例》相關(guān)的同類信息!
  • 本頁收集關(guān)于php擴(kuò)展開發(fā)入門demo示例的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    郓城县| 红桥区| 南开区| 张北县| 邯郸市| 鲁甸县| 理塘县| 丰都县| 象州县| 鹤岗市| 水城县| 宁安市| 凉城县| 巴中市| 星座| 鄢陵县| 中山市| 台南县| 大名县| 恩平市| 敦煌市| 孟村| 黎平县| 屏山县| 绿春县| 左贡县| 信宜市| 潍坊市| 苏尼特左旗| 黄冈市| 紫金县| 天台县| 合作市| 汶川县| 崇义县| 广宗县| 嘉荫县| 贵阳市| 周宁县| 珠海市| 长沙县|