是否可以通过 PECL 安装来安装 Mailparse 扩展 - 无需重新编译 PHP

是否可以通过 PECL 安装来安装 Mailparse 扩展 - 无需重新编译 PHP

我提出这个问题基本上是因为我想使用PHP:Mailparse 扩展并卡在安装过程中。但是,我还想知道一些 PHP 扩展安装的基础知识 - 请查看底部 -关于扩展安装的基本问题。这个问题可能有点傻,但我对这些事情还是有很多困惑,总是在重要时刻陷入困境。所以请原谅我,如果可以的话,请帮助我

我尝试了以下方法来安装 Mailparse 扩展 -

重新编译 PHP
我尝试重新编译带mailparse扩展的 PHP,但目前无法做到这一点 - 检查https://serverfault.com/questions/227976/on-which-location-to-run-configure-while-recompiling-php

PECL 命令安装
我在想,既然它是一个 PECL 扩展,它可以通过命令安装吗pecl install mailparse?运行该命令后,它会启动以下进程 -

downloading mailparse-2.1.5.tgz ...
Starting to download mailparse-2.1.5.tgz (37,332 bytes)
..........done: 37,332 bytes
9 source files, building
running: phpize
grep: /opt/lampp/include/php/main/php.h: No such file or directory
grep: /opt/lampp/include/php/Zend/zend_modules.h: No such file or directory

但我最终还是得到了这个,但失败了 -

...
...
/tmp/pear/temp/mailparse/php_mailparse.h:113: error: declaration for parameter 'def_charset' but no such parameter
/tmp/pear/temp/mailparse/mailparse.c:1540: error: expected '{' at end of input
make: *** [mailparse.lo] Error 1
ERROR: `make' failed

下载 mailparse 包
此外,他们还在这里提供 mailparse 包下载选项http://pecl.php.net/package/mailparse。我下载了它但不知道把它放在哪里以及如何安装它。

关于扩展安装的基本问题
那么,所有这些安装扩展的方法都有效吗?如果有效,为什么他们说PHP:Mailparse 扩展那 -

In order to use these functions you must compile PHP with mailparse support by using the --enable-mailparse configure option.

是因为这个扩展已经移到 PECL 存储库了吗?对于其他未移到 PECL 存储库的 PHP 扩展,是否必须重新编译 PHP?

谢谢

答案1

最好的选择是像你所做的那样安装 PECL 包,你遇到的问题是缺少 php 标头,它们对于涉及 php 代码的任何编译都是必需的。

尝试下载标题(在源代码包中可用)并将它们复制到 PECL 抱怨的位置,直到编译完 PECL 模块。

祝你好运!这是一项令人兴奋的任务 :)

相关内容