windows下php扩展组件创建和使用

开发环境

1.win 7 32位
2.Visual Studio 2019(已安装使用C++的桌面开发组件)

准备工作

1.php-sdk-binary-tools(v2.1.9)
2.php源码(v8.0.17)
3.php x86 Non Thread Safe (v8.0.17)

制作组件

1.生成组件源码

cd php-8.0.17-src/ext // 进入php源码的ext目录
php ext_skel.php --ext myext // 生成组件源码

2.打开编译环境

cd php-sdk2.1.9  // 打开生成组件工具
phpsdk-vc15-x86.bat // 运行工具

3.生成组件

buildconf
configure --disable-all --enable-cli --enable-myext=shared --disable-zts
nmake

这里需要说明的有两点,一点是–enable-myext=shared,之所以加shared,是为了生成单独的,可以分享的dll文件,一点是–disable-zts是生成非安全线程的dll组件。

至此,php_myext.dll组件已经生成,在php-8.0.17-src\Release下,如果不加–disable-zts,会在Release_TS下。

测试组件

1.打开php-8.0.17-nts-Win32-vs16-x86
2.复制php_myext.dll到ext目录下
3.修改php.ini-production为php.ini,并修改以下选项

extension_dir = "ext"
extension=myext

4.新建测试文件test.php

$myext = extension_loaded('myext');
var_dump($myext);
test1();
$res = test2();
var_dump($res);

5.测试是否成功

./php test.php

以上目录均基于php-8.0.17-nts-Win32-vs16-x86。

注意事项
1.不同的PHP版本对应的Visual Studio也不同。
Visual C++ 14.0 (Visual Studio 2015) for PHP 7.0 or PHP 7.1.
Visual C++ 15.0 (Visual Studio 2017) for PHP 7.2, PHP 7.3 or PHP 7.4.
Visual C++ 16.0 (Visual Studio 2019) for master.

安装完成后,记得安装“使用C++的桌面开发”组件。切记根据php开发版本选择Visual Studio,否则生成的组件不可用。

2.php-sdk-binary-tools选择

目前的最新版本是2.2+,之所以选择2.1.9是因为2.2以上的版本需要64位操作系统。

参考链接

1.Build your own PHP on Windows
2.PHP For Windows
3.php-sdk-binary-tools
4.Visual Studio 2019

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值