2016-03-04 13 views
5

В настоящее время я работаю над тем, чтобы разместить наш проект под php7.Установка mailparse php7 mbstring error

При попытке скомпилировать расширение mailparse или использовать PECL, чтобы установить его, я получаю эту ошибку:

#error The mailparse extension requires the mbstring extension!

Я устанавливал php7.0-MBstring и попытался поставить расширение MBstring с mailparse. Я также попытался использовать свои старые навыки работы с C и попробовать включить библиотеки самостоятельно без успеха.

У любого из вас есть идея, как я могу решить свою проблему? (Без редактирования кода, как я видел в некоторых форумах)

Благодарности

+0

Confirm как '' mailparse' и mbstring' расширения позволило путем анализа вывода 'phpinfo()' – Raptor

+0

После просмотра, я могу подтвердите, что mbstring установлена ​​и включена. Но поскольку mailparse не получает установленную причину ошибки, отсутствует –

ответ

25

Вы должны быть в состоянии загрузить исходный mailparse, закомментируйте тест на HAVE_MBSTRING в 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 
+0

Я видел вашу заметку о «без редактирования кода». Я должен упомянуть, что собственные справочные ресурсы Zend рекомендуют одно и то же исправление: https://support.zend.com/hc/en-us/articles/203408233-Compile-mailparse-extension-with-mbstring-dependency- –

+3

Я просто хотел добавьте, что phpize не будет работать, если вы не установили php7.0-dev (например, sudo apt install php7.0-dev) –

+0

Хороший вызов, @KevinRemisoski. Благодаря! –