国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > PHP > 正文

php中如何使用C語言寫擴展

2020-03-22 18:00:54
字體:
來源:轉載
供稿:網友
本篇文章給大家帶來的內容是介紹如何使用C語言給PHP寫擴展,,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。

1、在php源碼路徑的ext文件夾下,新建一個extend_test.def文件,編輯文件內容為:

string my_test_function(string str,int n)

2、在當前目錄執行

./ext_skel --extname=extend_test --proto=extend_test.def

其中,extname是擴展的名,proto是剛創建的文件,也可以用全路徑

3、在當前目錄下會生成extend_test文件夾,編輯extend_test文件夾下的config.m4

去掉一下三行的dnl的注釋

PHP_ARG_ENABLE(extend_test, whether to enable extend_test support,Make sure that the comment is aligned:[ --enable-extend_test Enable extend_test support])

4、編輯extend_test文件夾下的extend_test.c文件

找到以下方法并修改

PHP_FUNCTION(my_test_function) char *str = NULL; int argc = ZEND_NUM_ARGS(); size_t str_len; zend_long n; char *result; char *ptr; zend_long result_length; if (zend_parse_parameters(argc TSRMLS_CC, sl , str, str_len, n) == FAILURE) return; result_length = str_len * n; result = (char *) emalloc(result_length + 1); ptr = result; while (n--) { memcpy(ptr, str, str_len); ptr += str_len; *ptr = /0  RETURN_STRINGL(result, result_length);}

5、生成擴展:

在extend_test文件夾下,運行/home/php/bin/phpize(實際為phpize所在路徑)

然后運行./configure --with-php-config=/home/php/bin/php-config(實際為php-config所在路徑)

6、編譯安裝

make make install

7、執行完后會顯示擴展安裝到了哪個路徑下

然后修改php.ini增加擴展信息

extension=extend_test.so

8、測試擴展是否可用

新建test.php文件并將內容編輯為

 ?phpecho my_test_function( a ,5);

保存后用php運行,顯示出aaaaa表示擴展成功安裝

相關視頻教程推薦:《PHP教程》

以上就是本篇文章的全部內容,希望能對大家的學習有所幫助。更多精彩內容大家可以關注php 相關教程欄目!!!

以上就是php中如何使用C語言寫擴展的詳細內容,PHP教程

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 庆安县| 浠水县| 柏乡县| 巩留县| 阳谷县| 晋宁县| 湘潭市| 敦煌市| 鄂伦春自治旗| 东乌| 巴彦淖尔市| 南开区| 彰化县| 宁阳县| 冷水江市| 灵寿县| 新巴尔虎左旗| 左云县| 宜阳县| 浮山县| 汉中市| 广德县| 贵定县| 海盐县| 谷城县| 永登县| 彭水| 安阳市| 鄂伦春自治旗| 内黄县| 如皋市| 陈巴尔虎旗| 健康| 商洛市| 苏州市| 和田市| 四子王旗| 正安县| 永寿县| 和政县| 东光县|