婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > php擴展開發入門demo示例

php擴展開發入門demo示例

熱門標簽:江蘇電商外呼系統運營商 銅川電話機器人價格 AI電話機器人OEM貼牌 德陽中江如何申請400開頭電話 聊城電話外呼系統公司 青白江地圖標注 沛縣400電話辦理 辦理重慶400電話 智能電話機器人好公司門薩維

本文實例講述了php擴展開發。分享給大家供大家參考,具體如下:

一、進入php源碼包,找到ext文件夾

cd /owndata/software/php-5.4.13/ext

文件夾下放的都是php的相關擴展模塊

二、生成自己的擴展文件夾和相關文件

php支持開發者開發自己的擴展,提供了ext_skel骨架,用來構建擴展基本文件

./ext_skel --extname=myext

運行完成后,會在ext目錄下生產一個myext擴展目錄

三、編寫一個hello world簡單測試擴展

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); 這里就是擴展函數聲明部分,可以增加一

PHP_FUNCTION(myext_helloworld);

3.編輯myext.c文件在這個里面增加一行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執行代碼

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擴展

在myext目錄下運行phpize

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

安裝擴展

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

然后在php安裝的目錄下生產.so的文件

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

復制myext.so文件到php安裝的擴展目錄下

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

編輯php.ini文件加入一行擴展路徑

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

重啟php-fpm

service php restart

查看php擴展是否安裝進去了

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

確認成功后測試myext打印helloworld

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

或者創建demo.php

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

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

運行后輸出

my first ext,Hello World!

自此擴展開發小demo就實現了

更多關于PHP相關內容感興趣的讀者可查看本站專題:《PHP擴展開發教程》、《PHP網絡編程技巧總結》、《php curl用法總結》、《PHP數組(Array)操作技巧大全》、《PHP數據結構與算法教程》、《php程序設計算法總結》及《php字符串(string)用法總結》

希望本文所述對大家PHP程序設計有所幫助。

您可能感興趣的文章:
  • PHP擴展開發教程(總結)
  • PHP擴展開發入門教程
  • PHP內核介紹及擴展開發指南—基礎知識
  • 初步介紹PHP擴展開發經驗分享
  • PHP7擴展開發教程之Hello World實現方法示例
  • PHP7擴展開發之基于函數方式使用lib庫的方法詳解
  • PHP7擴展開發之hello word實現方法詳解
  • 快速開發一個PHP擴展圖文教程
  • 詳解Window7 下開發php擴展
  • 一個簡單php擴展介紹與開發教程
  • 關于嘗試開發PHP的MYSQL擴展的使用
  • windows下開發并編譯PHP擴展的方法

標簽:三亞 濟寧 迪慶 南寧 山南 鷹潭 赤峰 烏魯木齊

巨人網絡通訊聲明:本文標題《php擴展開發入門demo示例》,本文關鍵詞  php,擴展,開發,入門,demo,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《php擴展開發入門demo示例》相關的同類信息!
  • 本頁收集關于php擴展開發入門demo示例的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 资溪县| 阿荣旗| 兴化市| 博兴县| 宁津县| 钦州市| 遂宁市| 邵武市| 定西市| 确山县| 毕节市| 淮南市| 阜南县| 孙吴县| 通城县| 马龙县| 博白县| 湘潭市| 遵义县| 建水县| 开鲁县| 台中县| 株洲县| 商丘市| 卓尼县| 汕尾市| 湘西| 大田县| 永康市| 无为县| 陕西省| 清水河县| 临安市| 定陶县| 靖边县| 永兴县| 绥江县| 文安县| 徐水县| 铜川市| 海原县|