亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > PHP > 正文

用VS開發PHP擴展

2020-03-22 17:36:22
字體:
來源:轉載
供稿:網友
  • 開發前準備工作:

    VS(我用的2013)

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

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

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

    編譯后的程序路徑:E:/php-5.6.9-nts-Win32-VC11-x86/

    編譯前的源碼路徑:E:/php-5.6.9-src/

    步驟:

    1.安裝Cygwin

    網絡安裝

    默認安裝C盤

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

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

    2.找到php源碼目錄我的是(E:/php-5.6.9-src,以下用這個代表源碼目錄),打開E:/php-5.6.9-src/ext/ext_skel_win32.php

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

    3.運行cmd,進入E:/php-5.6.9-src/ext/里,運行php.exeext_skel_win32.php --extname=test,這里test代表你的php擴展名。

    打開E:/php-5.6.9-src/ext/就會看到一個test文件夾,這個就是你的擴展。

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

    選擇C++

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

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

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

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

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

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

    E:/php-5.6.9-src
    E:/php-5.6.9-src/main
    E:/php-5.6.9-src/TSRM
    E:/php-5.6.9-src/Zend

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

    ZEND_DEBUG=0
    PHP_EXTENSION
    PHP_WIN32
    ZEND_WIN32
    HAVE_TEST=1(這里紅色部分,要改成你的擴展名稱,不改成你的擴展名,php會不識別)
    COMPILE_DL_TEST(這里紅色部分,要改成你的擴展名稱,不改成你的擴展名,php會不識別)
    ZTS(這一個變量加上是開啟線程安全,不加是關閉線程安全)

    生成解決方案,錯誤信息顯示找不到“config.w32.h”,在源代碼文件目錄里搜索“config.w32.h”,在E:/php-5.6.9-src/win32/build/文件夾里找到“config.w32.h.in”,將這個文件復制到E:/php-5.6.9-src/main/文件夾里,去掉后面的“.in”

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

    錯誤 7 error LNK1120: 5 個無法解析的外部命令 E:/php-5.6.9-src/ext/test/Release/phptest.dll 1 1 phptest

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

    打開test.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");

    運行得到結果:

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

    PHP編程

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

  • 發表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發表
    亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
    国产性色av一区二区| 在线观看中文字幕亚洲| 亚洲美女在线观看| 成人xvideos免费视频| 伊人一区二区三区久久精品| 91九色国产在线| 在线国产精品播放| 欧美色图在线视频| 日韩电影中文字幕av| 国产精品十八以下禁看| 久久成人这里只有精品| 自拍视频国产精品| 亚洲人成在线免费观看| 亚洲国产成人精品女人久久久| 国产精品一区二区在线| 欧美孕妇毛茸茸xxxx| 欧美日韩激情网| 久久久久久国产三级电影| 日韩中文字幕网址| 国产精品丝袜白浆摸在线| 免费91麻豆精品国产自产在线观看| 全球成人中文在线| 久久久久免费视频| 国产精品美女久久久免费| 亚洲精品98久久久久久中文字幕| 欧美日韩电影在线观看| 国产成人精品综合久久久| 日韩av123| 尤物九九久久国产精品的分类| 一本色道久久88亚洲综合88| 亚洲精品成a人在线观看| 国产在线拍揄自揄视频不卡99| 欧美专区日韩视频| 亚洲国产日韩欧美在线99| 日韩激情片免费| 久久久视频在线| yellow中文字幕久久| 久久99精品久久久久久琪琪| 久久躁狠狠躁夜夜爽| 国产精品欧美日韩| 中文字幕日韩视频| 亚洲福利视频专区| 欧美日韩性视频| 日韩二区三区在线| 在线观看国产精品淫| 欧美激情欧美激情在线五月| 一区二区三区动漫| 亚洲国产精品va在线| 国产精品视频自拍| 欧美日韩在线视频一区| 久色乳综合思思在线视频| 亚洲国内精品在线| 国产综合久久久久| 97热在线精品视频在线观看| 福利一区福利二区微拍刺激| 欧美日韩国产一区二区三区| 曰本色欧美视频在线| 亚洲视频精品在线| 久久91超碰青草是什么| 精品福利在线看| 91在线看www| 亚洲精品一区二区在线| 亚洲最新av网址| 欧美性猛交xxxx乱大交3| 国产v综合ⅴ日韩v欧美大片| 91精品中国老女人| 日韩理论片久久| 欧美性色视频在线| 中文字幕国产精品久久| 波霸ol色综合久久| 欧美一级视频一区二区| 国产精品成人av在线| 精品视频一区在线视频| 91精品国产综合久久香蕉922| 欧美性色19p| 欧美成在线观看| 欧美精品情趣视频| 欧美日韩国产综合视频在线观看中文| 日韩女优在线播放| 91精品国产精品| 亚洲精品视频中文字幕| 欧美成人四级hd版| 日韩免费在线观看视频| 日本久久久久久| 中文字幕日韩高清| 深夜福利一区二区| 久久免费在线观看| 色播久久人人爽人人爽人人片视av| 色一情一乱一区二区| 亚洲欧美一区二区三区在线| 久久久久久久久中文字幕| 欧美成年人视频| 欧美在线一级视频| 一本大道香蕉久在线播放29| 5566日本婷婷色中文字幕97| www.欧美视频| 91社区国产高清| 九九综合九九综合| 亚洲精品自拍偷拍| 亚洲欧美制服另类日韩| 亚洲已满18点击进入在线看片| 欧美精品电影免费在线观看| 欧美一级免费视频| 7777精品视频| 精品久久久久久电影| 2019日本中文字幕| 亚洲欧美三级在线| 精品国产鲁一鲁一区二区张丽| 性欧美长视频免费观看不卡| 在线中文字幕日韩| 国产精品69精品一区二区三区| 九九精品在线视频| 欧美视频中文在线看| 欧美精品午夜视频| 欧美综合国产精品久久丁香| 欧美成人黑人xx视频免费观看| 久久夜色精品国产亚洲aⅴ| 亚洲欧美综合区自拍另类| 九九九久久国产免费| 一区二区中文字幕| 国产99久久精品一区二区永久免费| 久久视频免费在线播放| 亚洲大胆人体视频| 久久人人爽人人爽人人片av高清| 久久久亚洲影院你懂的| 久久精品视频在线播放| 日韩在线观看免费网站| 亚洲全黄一级网站| 国内精品久久久久伊人av| 中文字幕日韩在线播放| 欧美性高跟鞋xxxxhd| 日韩av电影中文字幕| 欧美精品aaa| 日韩精品免费视频| 亚洲新中文字幕| 日韩在线观看网址| 日韩亚洲第一页| 青青草原一区二区| 欧美一二三视频| 亚洲自拍偷拍福利| 日韩一区二区福利| 国产精品色视频| 自拍偷拍免费精品| 中日韩美女免费视频网址在线观看| 亚洲精品免费在线视频| 在线观看亚洲视频| 不卡中文字幕av| 琪琪亚洲精品午夜在线| 影音先锋欧美精品| 日韩小视频在线观看| 久久精品视频导航| 欧美成人免费观看| 久久九九有精品国产23| 亚洲高清免费观看高清完整版| 91在线国产电影| 久久久电影免费观看完整版| 亚洲欧美制服综合另类| 亚洲欧洲激情在线| 欧美国产日产韩国视频| 亚洲国产精品久久91精品| 久久精品电影网| 欧美黑人视频一区| 日本一区二区三区四区视频| 久久久久成人精品|