2009-08-01 14 views
23

Sto provando a installare indefero su una casella di VMware di CentOS 5.3 e ho riscontrato un problema. abbastanza presto l'installazione ottengo un errore che sono stato in grado di restringere a questo:Impossibile chiamare il metodo incorporato mb_internal_encoding?

[[email protected] /var/www/html]# cat x.php 
<?php 
    mb_internal_encoding("UTF-8"); 
?> 
[[email protected] /var/www/html]# php x.php 
PHP Fatal error: Call to undefined function mb_internal_encoding() in 
/var/www/html/x.php on line 2 

ottengo lo stesso errore quando si chiama questo script via http attraverso Apache. Ora, secondo il PHP manual the mb_internal_encoding function dovrebbe essere un builtin in PHP 5.

devo CentOS 5.3 i386 (codice Linux 2.6.18-53.1.21.el5 # 1 SMP mar 20 mag 09:34:18 EDT 2008 i686 i686 i386 GNU/Linux) e ho installato PHP 5.2.9.

[[email protected] /var/www/html]# php -v 
PHP 5.2.9 (cli) (built: Jul 8 2009 06:03:36) 
Copyright (c) 1997-2009 The PHP Group 
Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies 

Ho controllato due volte: selinux è stato disabilitato (per ora).

Come posso risolvere questo problema?

+2

E 'davvero built-in? Chiama _php -m_ per ottenere un elenco dei moduli incorporati. – VolkerK

risposta

49

mbstring è un'estensione "non predefinita", che non è abilitata per impostazione predefinita; vedi this page del manuale:

installazione

mbstring è un'estensione non predefinito. Ciò significa che non è abilitato dal valore predefinito. È necessario abilitare esplicitamente il modulo con l'opzione configure. consultare la sezione Installazione per i dettagli

Quindi, potrebbe essere necessario abilitare tale interno, modificando il file php.ini (e riavviare Apache, in modo che le modifiche viene preso in considerazione)


I don 't utilizzare CentOS, ma potrebbe essere necessario installare l'estensione prima, utilizzando qualcosa di simile (vedi this page, per esempio, che sembra dare una soluzione):

yum install php-mbstring 

(il nome del pacchetto potrebbe essere leggermente diverso; quindi, utilizzare la ricerca yum per farlo :-))

+1

Grazie, hai completamente ragione. Avevo bisogno di installare un RPM aggiuntivo chiamato php-mbstring. –

+0

Prego :-) Buon divertimento! –

+0

dopo aver installato yum php-mbstring c'è qualcosa che devi fare dopo? Ho provato il riavvio di apachectl ma non ho dadi – relipse

3

Se qualcuno sta avendo problemi con l'installazione di php-mbstring pacchetto ubuntu non segue sudo apt-get install libapache2-mod-php5

+3

Vale anche la pena notare che se si utilizza php7.0 dal repository ondrej/php, il pacchetto corretto è php7.0-mbstring. –

13

per Debian/Ubuntu:

sudo apt-get install php7.0-mbstring

0

Per OpenSUse (gestore pacchetti zypper):

zypper install php5-mbstring 

e:

zyper install php7-mbstring 

In altra parte, è possibile cercare attraverso il responsabile YaST Software.

Si noti che, è necessario riavviare Apache server HTTP:

systemctl restart apache2.service 
Problemi correlati