PHP安装mailparser扩展

时间:2017-06-29 17:25:29

标签: php php-extension email-parsing

我想安装mailparser扩展程序。 我下载了php_malparse.dll(把它放到php / ext文件夹中)。 还添加了:extension=php_mailparse.dll到php.ini

但它不起作用,而且php_info()也没有显示出来。

在日志中我得到:

  

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 \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd Win32。\ r \ n在第0行的未知中

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

1 个答案:

答案 0 :(得分:1)

很难说这里发生了什么。通常,消息Unable to load dynamic library表示库(在本例中为Windows .dll文件)格式不正确,操作系统无法将其映射到内存中 PHP不是能够使用它。

一些可能的原因包括:

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

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

我找到了这个模块的正式版本here。有很多不同的选择可供选择。注意ts(即线程安全)vs nts(即非线程安全),x86 vs x64(即架构)和{{1} } vs vc11(即运行时版本)。您可能需要进行试验,直到找到适合PHP构建的方法。

对于vc14扩展程序,可能还需要查看the official install instructions。请特别注意,必须首先加载mailparse模块才能使其正常工作。