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?
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 :-))
Pour Debian/Ubuntu:
Sudo apt-get install php7.0-mbstring
Si quelqu'un a du mal à installer le paquet php-mbstring
dans ubuntu, suivez
Sudo apt-get install libapache2-mod-php5
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
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.