2016-03-04 114 views
5

我目前正在努力把我们的项目放在php7下。安装mailparse php7 mbstring错误

当试图编译mailparse资讯或使用PECL安装它,我得到这个错误:

#error The mailparse extension requires the mbstring extension!

我安装php7.0,MBSTRING并试图把mbstring扩展与mailparse源代码。我也尝试使用我的旧C技能,尝试将自己的图书馆包括在内,但没有成功。

你们中的任何一个人都有一个想法,我可以如何解决我的问题? (无需编辑代码就像我在一些论坛上看到的)

感谢

+0

确认两个'mailparse'和'通过检查'的phpinfo()的输出' – Raptor

+0

启用mbstring'扩展寻找后,我可以确认已安装并启用了mbstring。但由于mailparse没有得到安装错误的原因,所以缺少 –

回答

25

您应该能够下载mailparse源,注释掉测试HAVE_MBSTRINGmailparse.c(约34行),通常建立它。

这是我在Ubuntu 16.04做(假设“须藤”在必要时):

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 
+0

我看到了关于“无需编辑代码”的注释。我应该提及的是,Zend自己的帮助资源推荐使用相同的修补程序:https://support.zend.com/hc/en-us/articles/203408233-Compile-mailparse-extension-with-mbstring-dependency- –

+3

我只是想补充说,除非你已经安装了php7.0-dev(例如sudo apt安装php7.0-dev),否则phpize将不起作用。 –

+0

Good call,@KevinRemisoski。谢谢! –