Windows下PHP8.1.7 TS加载parallel扩展提示无法加载动态库
核心错误说明
你操作里的致命问题是下载的parallel扩展版本和当前PHP环境完全不匹配:
- 你下载的安装包为
php_parallel-1.1.4-7.4-ts-vc15-x64.zip,该版本是专门适配PHP 7.4、基于VC15(Visual Studio 2017)编译的,无法在PHP 8.1环境下加载。 - 你安装的PHP 8.1.7是基于VC16(Visual Studio 2019)编译的x64线程安全(ZTS)版本,Windows平台下PHP扩展必须同时匹配「PHP主版本、VC编译版本、CPU架构、线程安全/非线程安全」四个维度,任意一项不匹配都会触发「找不到指定模块」的加载错误。
- 你安装pdo_sqlite等扩展能正常运行,是因为使用了和PHP8.1匹配的扩展版本,和本次parallel的版本错配问题无关。
- 你在php.ini中写扩展全路径的写法也存在问题,报错信息里出现的
C:\php\ext\php_D:\PHP8TS\ext\php_parallel.dll.dll异常路径,就是PHP解析全路径配置时的兼容问题导致的。
正确操作流程
- 选择适配PHP 8.1的parallel版本:parallel 1.2.0及以上版本才开始支持PHP 8.x系列,下载时确认包名标注的适配版本为8.1、TS、vc16、x64,不要使用适配7.4的旧版本包。
- 修正php.ini配置:先确认
extension_dir配置项正确指向D:\PHP8TS\ext目录,后续添加扩展配置只需要写extension=php_parallel.dll即可,不要写文件全路径。 - 替换对应版本的依赖文件:将适配PHP8.1版本的parallel包内附带的运行时dll复制到
D:\PHP8TS根目录,不要混用旧版本的pthreadVC2.dll;确认D:\PHP8TS路径已加入系统PATH环境变量,修改环境变量后需要完全关闭当前终端、重新打开才会生效。 - 验证安装:重新打开终端执行
php -m,查看返回的已加载扩展列表中是否存在parallel项;如果加载失败,执行php --ri parallel查看具体报错信息再针对性排查。
兼容性说明
目前已有大量开发者在PHP 8.1线程安全版本上正常运行parallel扩展,只要扩展版本和环境完全匹配就可以正常使用,不存在PHP8.1无法兼容该扩展的问题。
内容的提问来源于stack exchange,提问作者user10099
相关产品推荐
相关产品推荐

