web-dev-qa-db-fra.com

Impossible d'appeler la méthode mb_internal_encoding intégrée?

J'essaie d'installer Indefero sur une "boîte" CentOS 5.3 VMware et j'ai rencontré un problème .. Assez tôt dans l'installation, j'ai une erreur que j'ai pu réduire à ceci:

[root@code /var/www/html]# cat x.php
 <?php
     mb_internal_encoding("UTF-8");
 ?>
[root@code /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

La même erreur se produit lors de l'appel de ce script via http via Apache . Maintenant, selon le manuel PHP, la fonction mb_internal_encoding devrait être intégrée à PHP 5.

J'ai CentOS 5.3 i386 (code Linux 2.6.18-53.1.21.el5 # 1 SMP mar. 20 mai 09:34:18 EDT 2008 i686 i686 GNU/Linux) et j'ai installé PHP 5.2.9 .

[root@code /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

J'ai vérifié: selinux a été désactivé (pour le moment).

Comment puis-je réparer ça?

27
Niels Basjes

mbstring est une extension "autre que celle par défaut", qui n'est pas activée par défaut; voir cette page du manuel: 

Installation

mbstring est une extension autre que celle par défaut . Cela signifie qu'il n'est pas activé par défaut. Vous devez explicitement activer le module avec l'option configure . Voir la section Installer pour plus de détails

Donc, vous devrez peut-être activer cette extension, en modifiant le fichier php.ini (et en redémarrant Apache, afin que votre modification soit prise en compte)


Je n’utilise pas CentOS, mais vous devrez peut-être installer l’extension d’abord en utilisant quelque chose comme ceci (voir cette page , par exemple, qui semble donner une solution)):

yum install php-mbstring

(Le nom du paquet peut être un peu différent; utilisez donc yum search pour l'obtenir :-))

59
Pascal MARTIN

Pour Debian/Ubuntu:

Sudo apt-get install php7.0-mbstring

17
Akikon

Si quelqu'un a du mal à installer le paquet php-mbstring dans ubuntu, suivez Sudo apt-get install libapache2-mod-php5

4
Balkrishna

Pour OpenSUse (gestionnaire de paquets zypper):

zypper install php5-mbstring

et:

zyper install php7-mbstring

D'autre part, vous pouvez les rechercher via le gestionnaire de logiciels YaST.

Notez que vous devez redémarrer le serveur http Apache:

systemctl restart Apache2.service
0
مصطفی

Si vous ne savez pas comment activer l'extension php_mbstring dans Windows, ouvrez votre fichier php.ini et supprimez le point-virgule avant l'extension:

change ça

;extension=php_mbstring.dll

pour ça

extension=php_mbstring.dll

après modification, vous devez réinitialiser votre serveur php.

0
Serhat Türkman