PHP pecl PHP扩展编译 如何编译成dll文件?
我想把php openssl编译成dll php5.4
1.编译需要喂哪些工具 ?
2.如何编译成对应的版本?
3.编译过程需要注意些什么问题?
4.编译成功是否都是通用的?
http://svn.php.net/viewvc/pecl/openssl/
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(11)
啊哈哈,然后题主又踩了这个回复一脚。叛逆期吗?
这个题主踩了我的答案。真是何苦来哉。早知道是这么个主,我搭理他干嘛。
@inuxor 这就是命吧,第一眼就看你不爽,可能是头像拉仇恨了,哈哈。
回复
啊哈哈哈,我就是活该,多管闲事。
引用来自“inuxor”的评论
这个题主踩了我的答案。真是何苦来哉。早知道是这么个主,我搭理他干嘛。
我觉着你先到php扩展目录中找找,里面应该本来就有。。。。。
然后呢?
听说你欺负大胖了
好详细,感谢 我试试看
浑浑之中编译出了openssl。
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
binphpsdk_buildtree.bat phpdev
把PHP源代码解压到C:php-sdkphpdevvc9x86,比如:
C:php-sdkphpdevvc9x86php-5.4.45-src
把deps-5.4-vc9-x86.7z解压到
C:php-sdkphpdevvc9x86deps
开始编译:
cd C:php-sdk
binphpsdk_setvars.bat (设置环境变量,否则configure时会提示找不到bison之类的工具)
cd C:php-sdkphpdevvc9x86php-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-sdkphpdevvc9x86php-5.4.45-srcRelease
运行 nmake snap 打包:
C:php-sdkphpdevvc9x86php-5.4.45-srcReleasephp-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-sdkphpdevvc9x86peclAPC
cd C:php-sdk
binphpsdk_setvars.bat
cd C:php-sdkphpdevvc9x86php-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-sdkphpdevvc9x86php-5.4.45-srcReleasephp_apc.dll