windows下開發並編譯PHP擴展(步驟說明)

開發PHP擴展對於普通程序員來說可能一直是一件很神祕的工做,其實,只要你對C語言熟悉,瞭解了開發PHP擴展的步驟和規則,開發PHP擴展也是一件很普通的工做。

如今就簡單說一在WINDOWS下開發PHP擴展的步驟:

首先須要準備的軟件有:

cygwin 安裝路徑e:\app\cygwin
visual studio C++ 6.0,

修改環境變量,把已經安裝好的PHP路徑設置爲環境變量。在這裏,假設個人PHP安裝目錄是:e:\app\php5.2.5,那麼我把WINDOWS環境變量後面加上這個安裝目錄。方便一下子使用php.exe。
PHP源代碼,這裏假設爲e:\c_source_co
de\php-5.2.5 一、修改文件 「PHP源文件目錄/ext/ext_skel_win32.php」,在這裏就是:E:\c_source_code\php-5.2.5\ext,其 中主要是修改其中的cygwin路徑。$cygwin_path = 'e:\app\cygwin\bin'; 把$cygwin_path修改成你實際安裝cygwin的路徑。 二、在源代碼ext目錄也就是e:\c_source_code\php- 5.2.5\ext下,執行 php ext_skel_win32.php --extname=<EXT_NAME>,此時會在ext目錄下生成<EXT_NAME>目錄,這個目錄就是咱們將要進行 PHP擴展開發的框架。好比你運行php.exe ext_skel_win32.php --extname=foo,會在ext目錄下生成foo目錄。 三、將php-root\dev\php5ts.lib拷貝至 「ext/<EXT_NAME>」中。好比你要開發的PHP擴展名爲foo,那麼就須要把php-root\dev\php5ts.lib拷貝到PHP源文件目錄\ext\foo中。 四、修改foo.c內容,編寫咱們須要的C代碼。 五、進入<EXT_NAME>目錄,打開<EXT_NAME>.dsp。 設置VC6工程, 設置菜單「組建」->「移除工程配置」,選中「Win 32 Release_TS」, 設置菜單「工程」,選中「Win 32 Release_TS」 打開Tab「鏈接」,設置「輸出文件名」中的目錄, [可選]打開Tab「C/C++」,增長「預處理器定義」「,COMPILE_DL_<EXT_NAME>」(注意全大寫,默認加入的),取消預約義「LIBZEND_EXPORTS」(不然不可引入zend函數)。 六、設置好之後,進行編譯,會生成一個dll文件,文件名是<EXT_NAME>.dll,好比在咱們的例子中就爲foo.dll 把foo.dll拷到e:\app\ext目錄下,並在php.ini里加上一行extension=foo.dll,重啓一下apache,查看phpinfo();,會發現咱們的PHP擴展foo()已經加載進來,已經可使用這個foo擴展了。
相關文章
相關標籤/搜索