【问题标题】:Installing mailparse php7 mbstring error安装mailparse php7 mbstring错误
【发布时间】:2017-08-09 04:32:01
【问题描述】:

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

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

#error The mailparse extension requires the mbstring extension!

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

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

谢谢

【问题讨论】:

  • 通过检查 phpinfo() 的输出确认 mailparsembstring 扩展已启用
  • 查看后,可以确认mbstring已安装并启用。但是由于没有安装 mailparse 导致错误的原因,它丢失了

标签: php-extension php-7 email-parsing


【解决方案1】:

您应该能够下载 mailparse 源代码,在 mailparse.c 中注释掉 HAVE_MBSTRING 的测试(大约第 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

那么你只需要在你的 PHP 配置中启用mailparse.so 模块。

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

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

service php7.0-fpm reload

【讨论】:

  • 我看到了您关于“无需编辑代码”的注释。我应该提到 Zend 自己的帮助资源推荐了相同的修复:support.zend.com/hc/en-us/articles/…
  • 我只是想补充一点,除非您安装了 php7.0-dev(例如 sudo apt install php7.0-dev),否则 phpize 将无法工作
  • 好电话,@KevinRemisoski。谢谢!
  • 如果你在 Ubuntu 16 LTS 最好创建符号链接 echo "extension=mailparse.so" > \ /etc/php/7.0/mods-available/mailparse.ini ln -s /etc/php/7.0/mods-available/mailparse.ini /etc/php/7.0/cli/conf.d/30-mailparse.ini ln -s /etc/php/7.0/mods-available/mailparse.ini /etc/php/7.0/cli/conf.d/30-mailparse.ini
猜你喜欢
  • 2023-03-23
  • 2017-01-18
  • 1970-01-01
  • 2022-01-24
  • 2015-10-19
  • 1970-01-01
  • 2012-02-16
  • 2016-07-28
相关资源
最近更新 更多