gmnon.cn-疯狂蹂躏欧美一区二区精品,欧美精品久久久久a,高清在线视频日韩欧美,日韩免费av一区二区

站長資訊網
最全最豐富的資訊網站

如何用VS2015(vs14)開發PHP7擴展

本篇文章給大家介紹一下用VS2015(vs14)開發PHP7擴展的方法。有一定的參考價值,有需要的朋友可以參考一下,希望對大家有所幫助。

如何用VS2015(vs14)開發PHP7擴展

開發前準備工作:

VS(我用的2013)

Cygwin(下載地址:http://www.cygwin.com/)

搭載了php運行環境的IIS7.5 (用來測試)

php編譯后的程序和編譯前的源碼,我用的當前最新版本7.0.5(下載地址:http://windows.php.net/download#php-7.0)

編譯后的程序路徑:E:vs_c++testphpextphp-7.0.5-src

編譯前的源碼路徑:E:vs_c++testphpextphp-7.0.5-nts-Win32-VC14-x86

步驟:

1.安裝Cygwin

如何用VS2015(vs14)開發PHP7擴展

從網絡安裝

如何用VS2015(vs14)開發PHP7擴展

默認安裝C盤

如何用VS2015(vs14)開發PHP7擴展

下載緩存隨意,安裝結束記得刪掉,我是放在桌面的

如何用VS2015(vs14)開發PHP7擴展

如何用VS2015(vs14)開發PHP7擴展

在中國,就選http://mirrors.163.com,后面一直下一步到結束。

2.找到php源碼目錄我的是(E:vs_c++testphpextphp-7.0.5-src,以下用這個代表源碼目錄),打開E:vs_c++testphpextphp-7.0.5-srcextext_skel_win32.php

如何用VS2015(vs14)開發PHP7擴展

這里改成你的cygwin安裝目錄,我的就是C盤,所以不用改。

3.運行cmd,進入E:vs_c++testphpextphp-7.0.5-srcext里,運行php.exe ext_skel_win32.php –extname=test,這里test代表你的php擴展名。

如何用VS2015(vs14)開發PHP7擴展

打開E:vs_c++testphpextphp-7.0.5-srcext就會看到一個test文件夾,這個就是你的擴展。

4.打開VS選擇“文件”–“新建”–“從現有代碼創建目錄”

如何用VS2015(vs14)開發PHP7擴展

選擇C++

如何用VS2015(vs14)開發PHP7擴展

這里選擇你的php擴展文件夾路徑,并且給項目命名

如何用VS2015(vs14)開發PHP7擴展

選擇“使用 visual studio”,項目類型選擇“動態鏈接庫(DLL)項目”,后面一直默認下一步一直到完成。

如何用VS2015(vs14)開發PHP7擴展

5.剛開始打開會有很多錯誤,我們接下來開始配置項目。

如何用VS2015(vs14)開發PHP7擴展

先把項目解決方案配置改為Release

如何用VS2015(vs14)開發PHP7擴展

右鍵項目屬性,C/C++,常規,附加包含目錄,編輯

如何用VS2015(vs14)開發PHP7擴展

加入以下幾個php源碼目錄(實際目錄以開發者自己的目錄為準):

E:vs_c++testphpextphp-7.0.5-src

E:vs_c++testphpextphp-7.0.5-srcmain

E:vs_c++testphpextphp-7.0.5-srcTSRM

E:vs_c++testphpextphp-7.0.5-srcZend

右鍵項目屬性,C/C++,預處理器,預處理器定義,編輯,加入以下變量:

ZEND_DEBUG=0

PHP_EXTENSION

PHP_WIN32

ZEND_WIN32

HAVE_TEST=1(這里紅色部分,要改成你的擴展名稱,不改成你的擴展名,php會不識別)

COMPILE_DL_TEST(這里紅色部分,要改成你的擴展名稱,不改成你的擴展名,php會不識別)

ZTS(這一個變量加上是開啟線程安全,不加是關閉線程安全 這個根據你編譯的php是不是線程安全來判斷是否加入此變量 ps:我就在這上面吃虧了沒對應上導致php不識別擴展)

如何用VS2015(vs14)開發PHP7擴展

生成解決方案,錯誤信息顯示找不到“config.w32.h”,在源代碼文件目錄里搜索“config.w32.h”,在E:vs_c++testphpextphp-7.0.5-srcwin32build文件夾里找到“config.w32.h.in”,將這個文件復制到E:vs_c++testphpextphp-7.0.5-srcmain文件夾里,去掉后面的“.in”

再次生成解決方案,顯示錯誤信息LNK1120

錯誤 7 error LNK1120: 5 個無法解析的外部命令 E:vs_c++testphpextphp-7.0.5-srcexttestReleasephptest.dll 1 1 phptest

右鍵項目屬性,連接器,輸入,附加依賴項,編輯,將php5.lib的路徑放進去(這個文件在php編譯后的程序文件夾里,根目錄的dev文件夾里)

注意:為了讓擴展能和php運行環境匹配,要根據你的php運行環境的編譯版本(php7.0.5是VC14編譯的),在E:vs_c++testphpextphp-7.0.5-srcmain文件夾里的config.w32.h文件里加上:

#define PHP_COMPILER_ID "VC14"

打開E:vs_c++testphpextphp-7.0.5-srcexttesttest.c

找到這一段代碼:

PHP_FUNCTION(confirm_test_compiled) {     char *arg = NULL;     int arg_len, len;     char *strg;      if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &arg, &arg_len) == FAILURE) {         return;     }      len = spprintf(&strg, 0, "Congratulations! You have successfully modified ext/%.78s/config.m4. Module %.78s is now compiled into PHP.", "test", arg);     RETURN_STRINGL(strg, len, 0); }

將confirm_test_compiled改成test_echo

再找到這一段代碼:

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

將里面的confirm_test_compiled也改成test_echo

生成解決方案,在項目根目錄的Release文件夾里找到自己的php擴展phptest.dll,復制到php的ext文件夾里,在php.ini里配置上:

extension=phptest.dll

重啟IIS,新建一個站點,在里面新建一個test.php文件

<?php  echo test_echo("123");

運行得到結果:

如何用VS2015(vs14)開發PHP7擴展

這個test_echo函數,就是我們自己的自定義函數了,你也可以根據需求,開發自己的擴展來提高php的性能。

推薦學習:php視頻教程

贊(0)
分享到: 更多 (0)
?
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
gmnon.cn-疯狂蹂躏欧美一区二区精品,欧美精品久久久久a,高清在线视频日韩欧美,日韩免费av一区二区
欧美a级黄色大片| www国产精品内射老熟女| 亚洲av毛片在线观看| 亚洲一级片免费观看| 美国av在线播放| 一卡二卡三卡视频| 国产成人久久婷婷精品流白浆| 缅甸午夜性猛交xxxx| 中文字幕无码不卡免费视频| 最新天堂在线视频| 久操手机在线视频| 国产成人久久777777| 天天干天天爽天天射| 国产女人18毛片| 免费裸体美女网站| 日韩 国产 一区| 可以看毛片的网址| 狠狠躁狠狠躁视频专区| 日本黄xxxxxxxxx100| 国产又大又硬又粗| 亚洲小视频在线播放| 男女曰b免费视频| 久久国产精品免费观看| 亚洲国产精品毛片av不卡在线| 91蝌蚪视频在线| 日韩毛片在线免费看| 免费日韩在线观看| 黄色手机在线视频| 妺妺窝人体色www在线小说| www,av在线| 欧美精品第三页| 日本一区午夜艳熟免费| 999这里有精品| 无码精品a∨在线观看中文| 在线播放免费视频| 在线观看av日韩| 欧美日韩黄色一级片| 国产日韩欧美大片| 午夜啪啪小视频| 午夜免费高清视频| 韩国一区二区av| 免费观看美女裸体网站 | 亚洲成色www.777999| 男人天堂新网址| a级黄色片网站| 15—17女人毛片| 成人性做爰aaa片免费看不忠| 国产女教师bbwbbwbbw| 捷克做爰xxxⅹ性视频| 亚洲性生活网站| 成人一区二区三| 国产女女做受ⅹxx高潮| av免费观看国产| 久久亚洲a v| 一区二区三区四区免费观看| 黄色aaaaaa| 日本77777| 国产女同无遮挡互慰高潮91| 蜜臀视频一区二区三区| 老司机午夜av| 日韩爱爱小视频| 57pao国产成永久免费视频| 污版视频在线观看| 看看黄色一级片| 毛毛毛毛毛毛毛片123| 久久久一二三四| 日韩精品一区二区在线视频| 400部精品国偷自产在线观看| 欧美专区第二页| 青青草视频国产| 奇米影视亚洲色图| 91黄色小网站| 狠狠干狠狠操视频| 91大学生片黄在线观看| 国产曰肥老太婆无遮挡| 久久久久久久中文| 亚欧美在线观看| eeuss中文| 欧美s码亚洲码精品m码| 男女无套免费视频网站动漫| 天天色天天综合网| 91免费国产精品| 精品国产成人av在线免| 中文字幕一区久久| 日韩xxxx视频| 手机看片福利盒子久久| 99精品视频网站| 国产一级爱c视频| 天天干在线影院| 久久久天堂国产精品| 日韩精品视频一区二区在线观看| 熟女少妇精品一区二区| 992tv人人草| 韩国日本在线视频| 在线观看三级网站| 亚洲色图38p| 黄色片免费在线观看视频| 成人黄色一区二区| 人妻激情另类乱人伦人妻| 熟妇人妻va精品中文字幕| 欧洲xxxxx| 最新中文字幕免费视频| 欧美国产视频一区| 可以看污的网站| 免费看一级大黄情大片| 久久成年人网站| 日韩在线第三页| 97中文字幕在线| 天天综合成人网| 北条麻妃在线一区| h无码动漫在线观看| 思思久久精品视频| 久久久久久久少妇| 免费无码毛片一区二三区| 爱豆国产剧免费观看大全剧苏畅 | 男人日女人的bb| 天天爽人人爽夜夜爽| 可以看毛片的网址| 水蜜桃在线免费观看| 99re6在线观看| 久久婷婷国产91天堂综合精品| 婷婷无套内射影院| 国产爆乳无码一区二区麻豆 | 午夜精品久久久久久久99热影院| 波多野结衣家庭教师在线| 久久精品国产精品亚洲精品色| www.欧美日本| 国产超级av在线| 欧美 日韩 国产一区| 日本欧美黄色片| 免费成人午夜视频| 日本免费不卡一区二区| 成人在线国产视频| 精品一二三四五区| 男女私大尺度视频| 欧美大片在线播放| 欧美 日韩 国产在线观看| 日韩国产一级片| 亚洲 高清 成人 动漫| 僵尸世界大战2 在线播放| 丁香六月激情婷婷| 成人免费在线小视频| 青青在线视频观看| 日韩精品你懂的| 色一情一区二区| 亚洲成人动漫在线| 国产免费裸体视频| 亚洲国产精品久久久久婷蜜芽| 少妇高潮喷水久久久久久久久久| 国产日产欧美视频| 色国产在线视频| 精品国产一区二区三区在线| 国产精品久久国产| 韩国一区二区av| 中文字幕 日韩 欧美| 中文字幕一区二区三区四区五区人 | 在线观看污视频| 免费视频爱爱太爽了| 欧美s码亚洲码精品m码| 最新中文字幕免费视频| 黄色aaaaaa| 老太脱裤让老头玩ⅹxxxx| 黄色动漫网站入口| 在线a免费观看| 国产九色porny| 激情五月俺来也| 久操手机在线视频| 免费看黄色一级大片| 异国色恋浪漫潭| 青青视频在线播放| 青青草原播放器| 久久国产亚洲精品无码| 天堂在线中文在线| 欧美在线一区视频| 久久出品必属精品| 国产91在线免费| 2021狠狠干| 色悠悠久久综合网| 男人天堂a在线| 日本精品一区在线| 精品中文字幕av| 日韩视频在线观看视频| 人人干人人视频| 99在线精品免费视频| 日韩成人av免费| 国产精品99久久免费黑人人妻| 久久天天东北熟女毛茸茸| 亚洲一区在线不卡| 18岁网站在线观看| 国产乱淫av片杨贵妃| 日本高清免费在线视频| 少妇黄色一级片| 99精品人妻少妇一区二区| 在线观看免费黄色片| 在线观看国产中文字幕| 九九九九免费视频| 久久亚洲精品无码va白人极品| 91精品999| 福利片一区二区三区| 国产成人精品无码播放|