PHP 安装 mailparser 扩展

bab*_*oe1 3 php email-parsing php-extension

我想安装 mailparser 扩展。\n我下载了 php_malparse.dll (将其放入 php/ext 文件夹)。\n还添加:extension=php_mailparse.dll 到 php.ini

\n\n

但它不起作用,并且 php_info() 也不显示它。

\n\n

在日志中我得到:

\n\n
\n

PHP 警告:PHP 启动:无法加载动态库 'E:\\xampp\\php\\ext\\php_mailparse.dll' - %1 \\xef\\xbf\\xbd\\xef\\xbf\\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xe2\x80\ x8c\xe2\x80\x8b\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\ \xbd\\xef\\xbf\\xbd\xe2\x80\x8c\xe2\x80\x8b\\xef\\xbf\\xbd\\xef\\xbf\xe2\x80\x8c\xe2\x80\x8b \\xbd\\xef\\xbf\\xbd\\xef\xe2\x80\x8c\xe2\x80\x8b\\xbf\\xbd\\xef\\xbf\\xbd\xe2\x80\x8c\xe2 \x80\x8b\\xef\\xbf\\xbd Win32.\\r\\n 位于第 0 行未知

\n
\n\n

我需要帮助,我该如何解决这个问题?\n谢谢!

\n

Rog*_*Gee 5

很难说这里发生了什么。通常,该消息Unable to load dynamic library意味着库(在 Windows 上为.dll文件)格式不正确,操作系统无法将其映射到内存中,或者PHP 无法使用它。

一些可能的原因包括:

  • 该扩展未针对与目标 PHP 构建相同的体系结构进行编译(例如,PHP 是,x86-64但库是x86
  • 扩展不是使用相同的运行时版本编译的;PHP 对此非常严格(例如,PHP5 是vc11在 Windows 上构建的,PHP7 是使用 构建的vc14,等等。)
  • 该扩展不是针对您的 PHP 构建所使用的相同版本的 PHP API 或扩展 API 进行编译的;通常,在这种情况下,PHP 会显示更详细的错误消息(奇怪的是,您的错误消息包含一堆非打印字符......)

要仔细检查所有这些,请查看转储phpinfo()以了解您拥有哪种 PHP。查看PHP API和扩展版本以及系统架构以及是否启用了线程安全。然后返回到下载php_mailparse.dll扩展库的位置,并确保扩展与您的 PHP 版本一致。以下是有关 Windows PHP 扩展此过程的一些官方说明。

我在这里找到了该模块的官方版本。有很多不同的选择可供选择。注意ts(即线程安全)vs nts(即非线程安全)、x86vs x64(即架构)和vc11vs vc14(即运行时版本)。您可能必须进行试验,直到找到适合您的 PHP 构建的版本。

可能还值得查看该扩展的官方安装说明mailparse。特别注意,mbstring必须首先加载该模块才能工作。