我提出这个问题基本上是因为我想使用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 模块。
祝你好运!这是一项令人兴奋的任务 :)