日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

PHP扩展开发-01:第一个扩展

發布時間:2025/6/15 php 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PHP扩展开发-01:第一个扩展 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

為什么80%的碼農都做不了架構師?>>> ??

<HEAD>

???下面的操作是在Ubuntu 12.04,并且已經搭建了LAMP環境.

</HEAD>


一.下載PHP源碼

1.首先安裝GIT????? ? ? ? ??

sudo apt-get install git?

2.克隆PHP源碼

cd / git clone https://github.com/php/php-src.git ls 會看到php-src文件夾

3.進入ext目錄

cd php-src/ext ls 會看見很多擴展如curl,pdo等,同時還會看見用來建立擴展的腳本ext_skel


二.建立骨架修改參數

1.利用ext_skel建立骨架

./ext_skel --extname=yourname

yourname為你想建立的擴展的名字,我們先建一個,例如為rube

建立好后當前文件夾下會出現rube這個文件夾

cd rube 2.修改config,m4的參數

vim config.m4dnl Otherwise use enable:PHP_ARG_ENABLE(rube, whether to enable rube support, dnl Make sure that the comment is aligned:[? --enable-rube?????????? Enable rube support])

將PHP_ARG_ENABLE(rube, whether to enable rube support 和 [? --enable-rube???????????? Enable rube support]? 這兩行前面的dnl 去掉 。修改成如上所示



三.編寫php_rube.h 和 rube.c

1.編輯php_rube.h

vim php_rube.h

? 在php_rube.h的最后面添加

PHP_FUNCTION(confirm_rube_compiled); PHP_FUNCTION(hello); hello 為你要創建的那個函數

2.編輯rube.c

vim rube.cconst zend_function_entry rube_functions[] = {PHP_FE(confirm_rube_compiled,?? ?NULL)?? ?? PHP_FE(hello,??? NULL)???????? PHP_FE_END? }; ? 修改zend_function_entry rube_functions[] , 在PHP_FE(confirm_rube_compiled,?? NULL)后面添加

?PHP_FE(hello,??? NULL)

3.編寫函數

接下來編寫hello這個函數,首先編寫一個簡單的輸出"Hello my first extention"的函數。。。

?? 在rube.c的最后面添加

PHP_FUNCTION(hello) { char *arg = "Hello my first extention!"; int len; char *strg;len = spprintf(&strg, 0, "%s\n", arg); RETURN_STRINGL(strg, len, 0); } 保存后退出



四.編譯代碼

1.編譯成so文件

cd /php-src/ext/rube whereis phpize 看是否存在phpize

如果存在運行phpize,否則用

sudo apt-get install php5-dev 進行安裝后運行 phpize

然后

./configure --with-php-config=你的php-config位置 如果找不到php-config的位置

whereis php-config

./configure --with-php-config=你的php-config位置 接著

make 在編譯過程中如果你的代碼出現錯誤,會報錯。

make這步中如果提示

Build complete

說明編譯成功.然后

make install
安裝好后rube.so文件會在當前文件夾下的modules文件夾下,同時也會被安裝在系統提示的位置(也就是你的系統中php擴展的默認安裝位置),我的提示如下:

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

說明rube.so被安裝在/usr/lib/php5/20090626+lfs/目錄下
ls /usr/lib/php5/20090626+lfs/ #查看是否在此文件夾下
2.修改php.ini

找到php.ini文件 然后打開在文件最后添加

extension=/usr/lib/php5/20090626+lfs/rube.so #我的擴展在/usr/lib/php5/20090626+lfs/rube.so 你可以相應修改
重啟apache

五.進行測試

在你網站根目錄創建test.php

vim test.php<?phpecho hello();


結果為
Hello my first extention


轉載于:https://my.oschina.net/rube/blog/158910

總結

以上是生活随笔為你收集整理的PHP扩展开发-01:第一个扩展的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲精品.www | 免费在线观看日韩av | 巨胸喷奶水www久久久免费动漫 | 日本少妇喷水视频 | 噜噜av| 亚洲欧美高清在线 | 国模在线观看 | 性喷潮久久久久久久久 | 玖玖爱精品 | 国产精品无码专区av在线播放 | 天天干天天舔天天操 | 天天摸天天做天天爽水多 | 别揉我奶头一区二区三区 | 西野翔之公侵犯中文字幕 | 四虎com| 国产最新自拍 | 国产精品自拍区 | 精品国产精品三级精品av网址 | 丰满人妻一区二区三区性色 | 欧美福利视频一区 | 二区三区在线 | 欧洲一区二区在线 | 日韩中文字幕亚洲精品欧美 | 神马午夜精品 | 九九这里只有精品视频 | 两口子交换真实刺激高潮 | 国产欧美又粗又猛又爽 | 三级黄毛片 | 久久黄色 | 国产午夜精品一区二区三区欧美 | 中文字幕无码精品亚洲 | av电影中文字幕 | 爽爽淫人 | 奴性白洁会所调教 | 成人黄色动漫在线观看 | 欧美一区二区三区激情啪啪 | 日本色图片 | 亚洲国产成人精品一区二区三区 | 成人精品在线播放 | 大尺度做爰呻吟62集 | 91色九色| 色网站免费 | 暴操白虎 | 亚洲女人18毛片水真多 | 亚洲综合一二三 | 黑人操亚洲女人 | 精品国产乱码久久久久夜深人妻 | 欧美精品系列 | 手机亚洲第一页 | 中国极品少妇xxxx做受 | 国产在线激情视频 | 欧美性在线视频 | 亚洲丝袜天堂 | 国产网站免费观看 | 激情三区| 亚洲视频一区二区三区四区 | 亚洲中文字幕视频一区 | 国产精品一区二区欧美 | 亚洲四区在线 | 成人深夜福利在线观看 | 在线视频区| 国产精品色在线网站 | 精品一区二区三区免费看 | 精品国产av色一区二区深夜久久 | 亚州av一区| 成人免费国产 | free性娇小hd第一次 | 视色网 | 欧美污污视频 | 伊伊成人 | 国产免费av片在线 | 公交顶臀绿裙妇女配视频 | 久久少妇视频 | 在线观看午夜视频 | 91毛片视频| 午夜一区二区三区免费观看 | 五月激情av | 先锋影音av资源在线观看 | 国产字幕在线观看 | 黄色日b片 | 福利视频免费观看 | 57pao成人国产永久免费视频 | 强制高潮抽搐哭叫求饶h | 精品嫩模一区二区三区 | 青青草国产成人99久久 | 久久人人爽爽人人爽人人片av | 黄色一级免费大片 | 中文字幕一区二区三区电影 | 日韩性欧美 | 9.1成人免费看片 | 黄色美女视频网站 | 国产麻豆成人传媒免费观看 | 小早川怜子久久精品中文字幕 | 中文字幕无码乱码人妻日韩精品 | 久久久999视频 | 久久99在线 | 亚洲精品污一区二区三区 | 成人亚洲天堂 | 玖玖zyz |