2016-03-04 6 views
5

Ich arbeite gerade daran, unser Projekt unter php7 zu stellen.Installation von mailparse php7 mbstring Fehler

Beim Versuch, die mailparse Erweiterung zu kompilieren oder pecl es zu installieren verwenden, bekomme ich diesen Fehler:

#error The mailparse extension requires the mbstring extension!

ich die php7.0-mbstring nicht installiert hat und versucht, die mbstring Erweiterung zu setzen mit der Mail-Quellcode. Ich habe auch versucht, meine alten C-Fähigkeiten zu verwenden und versuche, die Bibliotheken selbst ohne Erfolg zu integrieren.

Jeder von euch hat eine Idee, wie ich mein Problem lösen könnte? (Ohne Bearbeitung den Code wie ich in einigen Foren sah)

Dank

+0

bestätigen beide 'mailparse' und' mbstring' Erweiterungen aktiviert, indem die Ausgabe von 'phpinfo Prüfung()' – Raptor

+0

Nach einem Blick, ich kann Bestätigen Sie, dass mbstring installiert und aktiviert ist. Aber da mailparse wegen des Fehlers nicht installiert wird, fehlt –

Antwort

25

sollten Sie in der Lage sein, die mailparse Quelle herunterladen, kommentiert den Test für HAVE_MBSTRING in mailparse.c aus (um die Linie 34), und es in der Regel bauen.

Hier ist, was ich in Ubuntu 16.04 hat (unter der Annahme 'sudo' wenn nötig):

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 

Dann einfach Sie das mailparse.so Modul in Ihrer PHP-Konfiguration aktivieren müssen.

Für Ubuntu 16.04 und PHP-FPM, dann würden Sie verwenden:

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

service php7.0-fpm reload 
+0

Ich habe Ihre Notiz über "ohne Editiercode" gesehen. Ich sollte erwähnen, dass Zend eigene Hilfe-Ressourcen die gleiche Lösung empfehlen: https://support.zend.com/hc/en-us/articles/203408233-Compile-mailparse-extension-with-mbstring-dependency- –

+3

Ich wollte nur fügen Sie hinzu, dass phpize nicht funktionieren wird, wenn Sie php7.0-dev nicht installiert haben (zB sudo apt install php7.0-dev) –

+0

Guten Ruf, @KevinRemisoski. Vielen Dank! –