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

首頁 > 開發 > 綜合 > 正文

windows下簡單編寫extension的一些要點

2024-07-21 02:04:15
字體:
來源:轉載
供稿:網友

并不是完整的文章或者教學。也不涉及關于使用VC++ 6.0的任何知識。僅僅是快速在windows下開發extension的想法。

在linux或unix下編譯,開發extension相信每個認真看過手冊的人都會了。但是windows下編譯php本身就是一個難題,我至今未能在windows下完整編譯php5,總是缺少一些lib。對于windows下編譯php5并沒有很多的文檔,不過手冊上已經足夠詳細了。但是既然僅僅為了編寫一個ext就搞出一大堆的東西似乎有些劃不來,那就簡單一些,只編寫ext并編譯。

步驟簡介

1.取得php代碼,比如php-5.1.4。

2.取得windows下的php二進制包,要跟代碼同版本。

3.進入原代碼目錄 php-5.1.4/ext/ 并使用CLI解釋執行ext_skel_win32.php。


php-win ext_skel_win32.php --extname=HelloWorld



4.從二進制包中的dev目錄取出php5ts.lib,放到剛才執行ext_skel_win32.php產生的php-5.1.4/ext/HelloWorld/ 《==重要!

5.編寫ext功能代碼,可參考精華貼,喬版主那篇unix下開發php4的ext的貼。差不多。

6.在php-5.1.4/ext/HelloWorld/下有HelloWorld.dsp,用VC++打開,編譯。在php-5.1.4/Release_TS/ 下會產生php_HelloWorld.dll。

7.如何使用這個ext不多說了。

------------------------------

要點1:一定要安裝cygwin,如果cygwin安裝路徑不是c:/cygwin的話,要手工修改ext_skel_win32.php中的$cygwin_path
比如我的
 

$cygwin_path 'Z:/working/bin/cygwin/bin';



要點2:編譯ext需要php5ts.lib或php5ts_debug.lib,分別對應Release和Debug方式編譯。如果編譯時提示php5ts_debug.lib找不到,那么要看看編譯方式是什么。

------------------------------

問題1:這樣編譯的好處是什么?
回答:快!如果不使用php二進制包中編譯好的php5ts.lib,而從頭在windows下編譯php5ts.lib,要配置一個編譯環境。麻煩得很,vc自己帶得lib缺少很多包,php帶的也缺少,要在cygwin里把包都找齊。用dev/php5ts.lib直接編譯ext就跳過了編譯 php的步驟,可以快速開發ext。同時保證跟官方發布的windows二進制包匹配。

問題2:這樣編譯跟cygwin下編譯有什么區別?
回答:cygwin下編譯的php無法脫離cygwin環境,編譯的ext自然也無法脫離cygwin。


補充中...還有一些沒想到~~

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 水城县| 疏勒县| 云龙县| 兴义市| 义马市| 文昌市| 西安市| 石柱| 木兰县| 石景山区| 隆子县| 界首市| 高邑县| 维西| 徐汇区| 张家港市| 湘乡市| 额尔古纳市| 南昌市| 铁力市| 永丰县| 横峰县| 霍林郭勒市| 池州市| 涞源县| 色达县| 通渭县| 怀安县| 肇庆市| 沾益县| 安龙县| 米林县| 子长县| 康马县| 林州市| 夏津县| 鹤山市| 越西县| 同心县| 榕江县| 仪陇县|