9

我目前正在努力将我们的项目放在 php7 下。

尝试编译 mailparse 扩展或使用 pecl 安装它时,我收到此错误:

#error The mailparse extension requires the mbstring extension!

我确实安装了 php7.0-mbstring 并尝试将 mbstring 扩展名与 mailparse 源代码一起放置。我还尝试使用我的旧 C 技能并尝试自己包含库但没有成功。

你们中有人知道我该如何解决我的问题吗?(没有像我在某些论坛中看到的那样编辑代码)

谢谢

4

1 回答 1

36

您应该能够下载 mailparse 源,注释掉HAVE_MBSTRINGin的测试mailparse.c(大约第 34 行),然后正常构建它。

这是我在 Ubuntu 16.04 中所做的(必要时假设为 'sudo'):

cd /tmp

apt-get install php7.0-dev

pecl download mailparse

tar xvzf mailparse-3.0.2.tgz

cd mailparse-3.0.2

phpize

./configure

sed -i \
  's/^\(#error .* the mbstring extension!\)/\/\/\1/' \
  mailparse.c

make

make install

然后你只需要mailparse.so在你的 PHP 配置中启用该模块。

对于 Ubuntu 16.04 和 PHP-FPM,您可以使用:

echo "extension=mailparse.so" > \
  /etc/php/7.0/fpm/conf.d/30-mailparse.ini

service php7.0-fpm reload
于 2016-04-15T00:29:07.337 回答