Yöntemi mb_internal_encoding yılında inşa aramak için açılamıyor?

1 Cevap php

I'm trying to install indefero on a CentOS 5.3 VMware 'box' and I ran into a problem. Quite early in the installation I get an error that I've been able to narrow down to this:

[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

I get the same error when calling this script via http through Apache. Now according to the PHP manual the mb_internal_encoding function should be a builtin in PHP 5.

Ben PHP 5.2.9 yükledim ve CentOS 5.3 i386 (SMP Tue 20 Mayıs 09:34:18 EDT 2008 i686 i686 i386 GNU / Linux Linux kod 2.6.18-53.1.21.el5 # 1) var.

[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

Ben kontrol katına: selinux (şimdilik) devre dışı bırakıldı.

I bu nasıl düzeltebilirim?

1 Cevap

mbstring bir "non-default" uzantısı, varsayılan olarak etkin değil mi; this page kılavuzun bakın:

Installation

mbstring is a non-default extension. This means it is not enabled by default. You must explicitly enable the module with the configure option. See the Install section for details

Yani, php.ini dosyasını değiştirerek, o uzantısı etkinleştirmeniz gerekebilir (ve Apache yeniden başlatmadan, bu nedenle değişiklik dikkate alınır)


I don't use CentOS, but you may have to install the extension first, using something like this (see this page, for instance, which seems to give a solution) :

yum install php-mbstring

(The package name might be a bit different ; so, use yum search to get it :-) )