2016-03-04 24 views
5

Obecnie pracuję nad umieszczeniem naszego projektu pod php7.Instalowanie mailparse php7 mbstring error

Kiedy próbuje skompilować rozszerzenie mailparse lub użyj pecl aby go zainstalować, dostaję ten błąd:

#error The mailparse extension requires the mbstring extension!

zrobiłem zainstalować php7.0-mbstring i starał się rozszerzenia mbstring z kod źródłowy mailparse. Próbowałem też używać moich starych umiejętności C i próbowałem samodzielnie włączyć biblioteki bez powodzenia.

Każdy z was ma pomysł, jak mogę rozwiązać mój problem? (Bez edytowania kodu jak widziałem w niektórych forach)

Dzięki

+0

Potwierdź zarówno '' mbstring' mailparse' i rozszerzenia włączoną badając wyjście 'phpinfo()' – Raptor

+0

Po patrząc, mogę potwierdź, że mbstring jest zainstalowany i włączony. Ale ponieważ mailparse nie jest instalowany z powodu błędu, brakuje go –

Odpowiedz

25

powinien być w stanie pobrać źródła mailparse, skomentuj test dla HAVE_MBSTRING w mailparse.c (wokół linii 34) i zbudować go normalnie.

Oto co zrobiłem w Ubuntu 16.04 (zakładamy 'sudo', gdy to konieczne):

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 

Potem wystarczy włączyć moduł w konfiguracji PHP mailparse.so.

dla Ubuntu 16.04 i PHP-FPM, można użyć:

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

service php7.0-fpm reload 
+0

Widziałem twoją notatkę o "bez edycji kodu". Powinienem wspomnieć, że własne zasoby pomocy Zend zalecają tę samą poprawkę: https://support.zend.com/hc/en-us/articles/203408233-Compile-mailparse-extension-with-mbstring-dependency- –

+3

Po prostu chciałem dodaj, że phpize nie zadziała, dopóki nie zainstalujesz php7.0-dev (np. sudo apt install php7.0-dev) –

+0

Dobre połączenie, @ KevinRemisoski. Dzięki! –