php scws.dll vc11,Windows下編譯php_scws.php

scws目前只提供php 5.4及以下的php擴展。求助無果,無奈只得自己想辦法編譯。

看了scws的文檔,問了問作者,然后開始動手。

第一步,你要有一個Visual Studio。

對應php版本。

php 5.4是vs 2008.

php 5.5 or php 5.6 需要 vs 2012

php 7 + 需要 vs 2015

第二步,找到你的vs的命令行工具 ,打開,備用。

當然,要下你想下的版本。

要下日期最新的。

第五,在第四步的時候順道把php depends也下了。

當然是對應你php版本的。

第六步,配置目錄。

把binary tools解壓。比如解壓到d:\php-sdk\

用第二步打開的命令,進入這個目錄。  cd d:\php-sdk

執行命令 bin\phpsdk_buildtree.bat phpdev

d:\php-sdk下多出個目錄phpdev

里面有vc6 vc8 vc9三個目錄。

把d:\php-sdk\phpdev\vc9 復制成 d:\php-sdk\phpdev\vc11

然后在vc11里創建 x86  x64 兩個目錄。

這里我們只用x86平台的。所以把php source解壓到x86目錄里。

例如: d:\php-sdk\phpdev\vc11\x86\php-5.6.21-src

然后把php depends文件也解壓,覆蓋x86下在的deps目錄。

下面就可以編譯了。

第七步,編譯。

cd d:\php-sdk

執行 bin\phpsdk_setvars.bat

然后再進入 d:\php-sdk\phpdev\vc11\x86\php-5.6.21-src

執行 buildconf

執行 configure --help 可以看下命令行幫助。

創建自己的配置: configure --disable-all --enable-cli

如果需要把某個擴展編譯進php就在后面跟上相應的選項,這些選項都會出現在--help里。

最后執行 nmake來編譯。

沒報錯,那就是成功了。

編譯完會多出個目錄Release_TS,里面就是編譯的好的php。   包括exe和dll,具體有些啥要看 configure的時候你指定了啥。

第八步,將scws解壓到 d:\php-sdk\phpdev\vc11\x86\。

沒錯,跟php-5.6.21-src同一目錄。

第九步,打開vs.根據你的php版本來。

php 5.6.x是vs 2012,php 7是vs 2015。

第十步,打開scws\win32\下面的vs工程文件。

提示需要轉換,那就轉換。

編譯選項選 release ,x86。

工程里有兩個項目 libscws 和scws

然后打開scws的屬性頁,新建一個編譯配置,可以從現有的復制一個過去。起名叫Release_PHP7。

把相關的附加目錄,附加庫的路徑都改成 php-5.6.21-src。

第十一步,修改xdict.c文件

把#include 移到#ifndef WIN32的后面去。

然后,編譯吧。

能不能成功看造化。

前面之所以要先編譯下php源代碼,是因為不編譯,有些文件不會出來,比如 config_win32.h,比如php5ts.lib,等等。

如果提示缺少zlib,可以去下個windows的zlib庫,附加到工程里。

php_scws.dll雖然可以生成,但是實際能不能用還沒試。

-end-

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值