Невозможно вызвать встроенный метод mb_internal_encoding? - PullRequest
31 голосов
/ 01 августа 2009

Я пытаюсь установить Indefero на CentOS 5.3 VMware «box», и я столкнулся с проблемой. В начале установки я получаю сообщение об ошибке, которое мне удалось сузить до следующего:

[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

Я получаю ту же ошибку при вызове этого скрипта через http через Apache. Теперь согласно руководству PHP функция mb_internal_encoding должна быть встроена в PHP 5.

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

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

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

Ответы [ 5 ]

62 голосов
/ 01 августа 2009

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

Установка

mbstring не является расширением по умолчанию. Это означает, что он не включен дефолт. Вы должны явно включить модуль с опцией конфигурации. Подробнее см. Раздел «Установка»

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


Я не использую CentOS, но вам может понадобиться сначала установить расширение, используя что-то вроде (см., Например, эту страницу , которая, кажется, дает решение) :

yum install php-mbstring

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

19 голосов
/ 27 октября 2016

Для Debian / Ubuntu:

sudo apt-get install php7.0-mbstring

4 голосов
/ 06 октября 2015

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

2 голосов
/ 27 декабря 2018

Если вы не знаете, как включить расширение php_mbstring в windows, откройте php.ini и удалите точку с запятой перед расширением:

изменить это

;extension=php_mbstring.dll

к этому

extension=php_mbstring.dll

после внесения изменений вам нужно сбросить свой php сервер.

0 голосов
/ 17 февраля 2017

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

zypper install php5-mbstring

и

zyper install php7-mbstring

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

Обратите внимание, что вы должны перезапустить сервер Apache http:

systemctl restart apache2.service
...