2009-08-01 2 views
23

Я пытаюсь установить indefero на ящик CentOS 5.3 VMware, и я столкнулся с проблемой. Довольно рано в установке я получаю сообщение об ошибке, что я был в состоянии сузить это:Невозможно вызвать встроенный метод 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 

я получаю ту же ошибку при вызове этого сценария с помощью HTTP через Apache. Теперь по PHP manual the mb_internal_encoding function должен быть в PHP встроенные 5.

У меня есть CentOS 5.3 i386 (Linux код 2.6.18-53.1.21.el5 # 1 SMP вт 20 май 9:34:18 EDT 2008 i686 i686 i386 GNU/Linux), и я установил 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 

Я проверял дважды: selinux отключен (на данный момент).

Как исправить это?

+2

Это действительно встроены? Вызовите _php -m_, чтобы получить список встроенных модулей. – VolkerK

ответ

49

mbstring - это расширение «не по умолчанию», которое по умолчанию не включено; см this page в руководстве:

Установка

MBstring является расширение не по умолчанию. Это означает, что он не включен по умолчанию. Вы должны явно включить модуль с параметром configure. Смотрите раздел Установка для деталей

Таким образом, вы, возможно, придется включить это расширение, изменение файла php.ini (и перезапустить Apache, так что ваша модификация учитывается)


Я надеваю «т использовать CentOS, но вы, возможно, придется установить расширение первого, используя что-то вроде этого (см this page, например, что, кажется, дает решение):

yum install php-mbstring 

(Название пакета может быть немного иным; поэтому используйте ни поиска, чтобы получить его :-))

+1

Спасибо, ты был совершенно прав. Мне нужно было установить дополнительный RPM, называемый php-mbstring. –

+0

Добро пожаловать :-) Удачи! –

+0

после того, как вы сделаете yum install php-mbstring, есть что-то, что вам нужно сделать после этого? Я попробовал перезапуск apachectl, но не купил – relipse

3

Если кто-то возникают проблемы с установкой php-mbstring пакета в Ubuntu сделайте следующее sudo apt-get install libapache2-mod-php5

+3

Также стоит отметить, что при использовании php7.0 из репозитория ondrej/php правильным пакетом является php7.0-mbstring. –

0

Для OpenSUse (менеджер пакетов zypper):

zypper install php5-mbstring 

и:

zyper install php7-mbstring 

В другой стороны, вы можете искать их через менеджер YaST Software.

Обратите внимание, что необходимо перезапустить сервер Apache HTTP:

systemctl restart apache2.service