2016-03-04 20 views
5

Attualmente sto lavorando per inserire il nostro progetto in php7.Installare mailparse php7 mbstring error

Quando si cerca di compilare l'estensione mailparse o utilizzare PECL per installarlo, ottengo questo errore:

#error The mailparse extension requires the mbstring extension!

ho installato il php7.0-mbstring e ho cercato di mettere l'estensione mbstring con la codice sorgente mailparse. Ho anche provato a usare le mie vecchie abilità C e provare a includere le librerie senza successo.

Qualcuno di voi ha un'idea di come potrei risolvere il mio problema? (Senza modificare il codice come ho visto in alcuni forum)

Grazie

+0

Conferma sia '' mailparse' e ​​estensioni mbstring' abilitato esaminando l'output di 'phpinfo()' – Raptor

+0

Dopo aver guardato, posso conferma che mbstring è installato e abilitato. Ma dal momento che mailparse non viene installato a causa dell'errore, manca –

risposta

25

Si dovrebbe essere in grado di scaricare la fonte mailparse, commentare la prova per HAVE_MBSTRING a mailparse.c (intorno alla linea 34), e costruirlo normalmente.

Ecco quello che ho fatto in Ubuntu 16.04 (assumere 'sudo' quando necessario):

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 

Poi solo bisogno di attivare il modulo mailparse.so nella configurazione di PHP.

Per Ubuntu 16.04 e PHP-FPM, devi utilizzare:

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

service php7.0-fpm reload 
+0

Ho visto la tua nota su "senza modificare il codice". Devo dire che le risorse di assistenza di Zend raccomandano la stessa soluzione: https://support.zend.com/hc/en-us/articles/203408233-Compile-mailparse-extension-with-mbstring-dependency- –

+3

Volevo solo aggiungi che phpize non funzionerà se non hai installato php7.0-dev (ad es. sudo apt install php7.0-dev) –

+0

Good call, @KevinRemisoski. Grazie! –