如何获取适用于Windows系统PHP 8.3.1的gRPC DLL文件
解决Windows下PHP 8.3.1适配gRPC DLL的问题
你遇到的警告是因为gRPC 1.43.0编译时使用的PHP模块API版本(20210902,对应PHP 8.1)和你的PHP 8.3.1的API版本(20230831)不兼容,必须使用匹配API版本的gRPC扩展。以下是获取适配DLL的方法:
方法一:下载官方预编译的适配版本
gRPC官方已发布支持PHP 8.3的Windows预编译包,步骤如下:
- 访问PECL的gRPC项目页面,找到最新稳定版(如1.59.0及以上版本),选择与你的PHP环境完全匹配的安装包:
- 架构:x64(你的PHP是x64版本)
- 线程模式:ZTS(你的PHP是ZTS版本)
- PHP版本:8.3
- 编译器:VS16(对应Visual C++ 2019)
- 解压下载的压缩包,将
php_grpc.dll放入PHP安装目录下的ext文件夹,grpc.dll放入PHP根目录或Windows系统PATH可访问的目录(如C:\Windows\System32) - 编辑
php.ini文件,添加一行extension=grpc,保存后重启PHP服务或重新打开命令行,运行php -v验证是否还有警告
方法二:自行编译适配的gRPC DLL
如果官方预编译包暂时无法获取,可以自行编译:
- 准备编译环境:安装Visual Studio 2019、CMake、Git,以及与你的PHP 8.3.1版本、架构、ZTS模式完全匹配的PHP开发包(php-devel包)
- 克隆gRPC的GitHub仓库,切换到支持PHP 8.3的标签版本(如v1.59.0及以上)
- 按照gRPC官方的Windows编译文档,配置编译参数,指定PHP开发包的路径,编译生成适配的
php_grpc.dll和grpc.dll文件 - 将编译好的DLL文件按方法一的步骤放置并配置php.ini
方法三:使用社区第三方预编译资源
部分PHP扩展社区会提供第三方编译的扩展包,你可以寻找信任的社区资源,下载与你的PHP 8.3.1环境匹配的gRPC DLL,注意验证文件的安全性和版本匹配性。
内容的提问来源于stack exchange,提问作者cja
相关产品推荐
相关产品推荐

