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

发布于 2021-11-29 19:31:54 字数 198 浏览 754 评论 11

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

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

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

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

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

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(11

私藏温柔 2021-12-04 00:36:14

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

情绪失控 2021-12-04 00:36:10

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

笑红尘 2021-12-04 00:35:52

@inuxor 这就是命吧,第一眼就看你不爽,可能是头像拉仇恨了,哈哈。

辞别 2021-12-04 00:35:16

回复
啊哈哈哈,我就是活该,多管闲事。

囚你心 2021-12-04 00:23:13

引用来自“inuxor”的评论

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

2021-12-04 00:22:13

我觉着你先到php扩展目录中找找,里面应该本来就有。。。。。

柒夜笙歌凉 2021-12-04 00:18:09

然后呢?

把回忆走一遍 2021-12-04 00:15:22

听说你欺负大胖了

回忆凄美了谁 2021-12-03 23:55:30

好详细,感谢 我试试看

只为守护你 2021-12-03 22:12:23

浑浑之中编译出了openssl。

输什么也不输骨气 2021-12-03 19:56:29

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文