You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

编译Windows下PHP 8.3.6 x64共享扩展php_mailparse.dll失败求助

问题:Windows下编译PHP 8.3.6 x64 mailparse扩展后无法加载

我尝试为Windows系统下的PHP 8.3.6 x64版本编译mailparse共享扩展,操作步骤如下:

  • 安装Visual Studio 2019基础组件
  • 创建文件夹c:\php-sdk
  • 将PHP 8.3.6源码解压到php-sdk中
  • 将mailparse 3.1.6的内容解压到php-sdk/ext/mailparse目录
  • 因执行buildconf和configure时提示缺少二进制工具,额外下载PHP SDK二进制工具并解压到php-sdk/php-sdk-binary-tools-master目录
  • 打开VS命令提示符,进入php-sdk/php-sdk-binary-tools-master目录,执行phpsdk-vs16-x64.bat
  • 返回php-sdk目录,执行配置命令:
    configure --disable-all --enable-cli --enable-mbstring --enable-mailparse --disable-zts --with-all-shared
    
    配置输出显示mailparse为shared模式,编译环境为Release、非线程安全(NTS)、x64、VS2019
  • 执行nmake完成编译,在php-sdk\x64\Release找到生成的php_mailparse.dll,复制到预编译PHP二进制文件的ext文件夹中

但加载该扩展时出现以下错误:

PHP Warning:  PHP Startup: Unable to load dynamic library 'php_mailparse.dll' (tried: ./ext\php_mailparse.dll (Die angegebene Prozedur wurde nicht gefunden)) in Unknown on line 0

请问我哪里操作有误?


可能的原因及解决方法

1. 编译环境与预编译PHP不匹配

你编译扩展用的是VS2019 + 非线程安全(NTS) + Release,但如果预编译PHP不符合以下任意一点,就会出现加载失败:

  • 预编译PHP是线程安全(ZTS)版本
  • 预编译PHP用更高版本VS编译(比如VS2022)
  • 预编译PHP是Debug版本

解决方法:

  • 执行php -v和php -i,查看Thread Safety、Compiler字段,确保和你的编译环境完全一致
  • 如果预编译PHP是ZTS版本,重新编译时将配置命令中的--disable-zts改为--enable-zts

2. 依赖扩展mbstring未正确加载或版本不匹配

mailparse依赖mbstring扩展,若预编译PHP中的mbstring是静态编译、或版本和你编译时使用的mbstring不一致,会导致找不到依赖函数。

解决方法:

  • 打开php.ini确认extension=mbstring已启用,且加载顺序在mailparse之前
  • 将编译生成的php_mbstring.dll也替换到预编译PHP的ext目录,确保依赖版本一致

3. 编译配置参数存在问题

你使用的--with-all-shared和--disable-all可能导致部分隐式依赖的核心符号未被正确导出。

解决方法:

  • 调整配置命令,明确指定必要组件的模式:
    configure --disable-all --enable-cli --enable-mbstring=shared --enable-mailparse=shared --disable-zts
    

4. DLL文件或路径问题

  • 确认复制的php_mailparse.dll是x64/Release目录下的版本,而非Debug或x86版本
  • 执行php -i | findstr "extension_dir",检查php.ini中extension_dir是否指向你放置dll的ext目录

5. 缺少VC++运行库

VS2019编译的程序需要对应版本的VC++ Redistributable Runtime,若系统未安装会导致加载失败。

解决方法:

  • 安装Visual Studio 2019对应的x64版本VC++ Redistributable

内容的提问来源于stack exchange,提问作者mech

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 09:30:30