Невозможно вызвать встроенный метод mb_internal_encoding?
Я пытаюсь установить 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 Tue 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 был отключен (пока).
Как это исправить?
7 ответов
mbstring - расширение "не по умолчанию", которое не включено по умолчанию; см. эту страницу руководства:
Монтаж
mbstring не является расширением по умолчанию. Это означает, что он не включен по умолчанию. Вы должны явно включить модуль с параметром конфигурации. Смотрите раздел Установка для деталей
Таким образом, вам может потребоваться включить это расширение, изменив файл php.ini (и перезапустив Apache, чтобы учесть ваши изменения)
Я не использую CentOS, но вам, возможно, придется сначала установить расширение, используя что-то вроде этого (см., Например, эту страницу, которая, кажется, дает решение):
yum install php-mbstring
(Имя пакета может немного отличаться; поэтому используйте поиск yum, чтобы получить его:-))
Если вы не знаете, как включить расширение php_mbstring в windows, откройте php.ini и удалите точку с запятой перед расширением:
изменить это
;extension=php_mbstring.dll
к этому
extension=php_mbstring.dll
после внесения изменений вам необходимо перезагрузить ваш php сервер.
Если у кого-то возникли проблемы с установкой php-mbstring
пакет в Ubuntu сделать следующее
sudo apt-get install libapache2-mod-php5
apt-get install php7.3-mbstring
решил проблему на ubuntu, версия php - php-fpm 7.3
Для php 5.6 в ubuntu
sudo apt install php5.6-mbstring
Перезагрузите Apache2
sudo systemctl restart apache2
Для OpenSUse (менеджер пакетов zypper):
zypper install php5-mbstring
а также:
zyper install php7-mbstring
С другой стороны, вы можете искать их через YaST Software Manager.
Обратите внимание, что вы должны перезапустить сервер Apache http:
systemctl restart apache2.service