PHP pecl PHP扩展编译 如何编译成dll文件?

辣条拌鱼翅 发布于 2016/09/02 13:51
阅读 1K+
收藏 0

我想把php openssl编译成dll  php5.4 

1.编译需要喂哪些工具 ?

2.如何编译成对应的版本?

3.编译过程需要注意些什么问题?

4.编译成功是否都是通用的?

http://svn.php.net/viewvc/pecl/openssl/

加载中
1
eechen
eechen
Windows上编译安装PHP和PECL扩展
https://wiki.php.net/internals/windows/stepbystepbuild
http://windows.php.net/downloads/releases/php-5.4.45-src.zip
http://windows.php.net/downloads/php-sdk/deps-5.4-vc9-x86.7z
http://windows.php.net/downloads/php-sdk/php-sdk-binary-tools-20110915.zip
https://www.microsoft.com/en-us/download/details.aspx?id=11310 (启动Windows SDK 6.1安装程序后,需要下载1.2G的数据和3GB的磁盘空间)
http://download.microsoft.com/download/3/0/2/3025EAE6-2E15-4972-972A-F5B1ED248E85/VS2008ExpressWithSP1CHSX1504735.iso 中文版
注意顺序!先安装Windows SDK 6.1及其service packs和security updates,
然后安装Visual Studio 2008 Express Edition SP1(运行Setup.hta,选择安装Visual C++ 2008).

开始菜单打开 Windows SDK v6.1 CMD shell 执行 setenv /x86 /xp /release
创建目录C:\php-sdk,并把php-sdk-binary-tools解压到这个目录.
cd C:\php-sdk\
bin\phpsdk_buildtree.bat phpdev
把PHP源代码解压到C:\php-sdk\phpdev\vc9\x86,比如:
C:\php-sdk\phpdev\vc9\x86\php-5.4.45-src
把deps-5.4-vc9-x86.7z解压到
C:\php-sdk\phpdev\vc9\x86\deps
开始编译:
cd C:\php-sdk\
bin\phpsdk_setvars.bat (设置环境变量,否则configure时会提示找不到bison之类的工具)
cd C:\php-sdk\phpdev\vc9\x86\php-5.4.45-src
buildconf
如果出现 输入错误: 没有文件扩展“.js”的脚本引擎。
regedit 把 [HKEY_CLASSES_ROOT\.js] 项下的那个默认值改成JSFile
重新执行 buildconf 就可以生成 configure.js 了.
configure --help
configure --disable-zts --disable-all --enable-cli
执行 nmake 编译, 编译后生成的二进制文件位于:
C:\php-sdk\phpdev\vc9\x86\php-5.4.45-src\Release
运行 nmake snap 打包:
C:\php-sdk\phpdev\vc9\x86\php-5.4.45-src\Release\php-5.4.45-nts-Win32-VC9-x86.zip
重新编译:
nmake clean 清除旧的二进制文件
rd /s /q Release
buildconf --force 生成新的configure.js脚本
configure --disable-zts --disable-all --enable-cli
nmake

编译PECL扩展比如APC(相当于重新编译一次PHP):
把 APC 解压到 C:\php-sdk\phpdev\vc9\x86\pecl\APC
cd C:\php-sdk\
bin\phpsdk_setvars.bat
cd C:\php-sdk\phpdev\vc9\x86\php-5.4.45-src
buildconf
configure --help 看到 --enable-apc 相关选项
configure --disable-zts --disable-all --enable-cli --enable-apc=shared
默认APC被静态(--enable-apc=static)编译到PHP中(php5.dll),需要生成dll则这样写:
--enable-apc=shared
执行 nmake 编译, 编译后生成的二进制文件位于:
C:\php-sdk\phpdev\vc9\x86\php-5.4.45-src\Release\php_apc.dll
辣条拌鱼翅
辣条拌鱼翅
浑浑之中编译出了openssl。
辣条拌鱼翅
辣条拌鱼翅
好详细,感谢 我试试看
1
开源无憾
开源无憾
听说你欺负大胖了
辣条拌鱼翅
辣条拌鱼翅
然后呢?
0
inuxor
inuxor
我觉着你先到php扩展目录中找找,里面应该本来就有。。。。。
0
乌龟壳
乌龟壳

引用来自“inuxor”的评论

这个题主踩了我的答案。真是何苦来哉。早知道是这么个主,我搭理他干嘛。

inuxor
inuxor
回复 @乌龟壳 : 啊哈哈哈,我就是活该,多管闲事。
乌龟壳
乌龟壳
@inuxor 这就是命吧,第一眼就看你不爽,可能是头像拉仇恨了,哈哈。
-1
inuxor
inuxor

这个题主踩了我的答案。真是何苦来哉。早知道是这么个主,我搭理他干嘛。

inuxor
inuxor
啊哈哈,然后题主又踩了这个回复一脚。叛逆期吗?
返回顶部
顶部