Я пытаюсь установить indefero на платформе CentOS 5.3 VMware, и я столкнулся с проблемой. Довольно рано в установке я получаю сообщение об ошибке, которое я смог сузить до этого:
[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 May 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 отключен (на данный момент).
Как это исправить?
mbstring – это расширение «не по умолчанию», которое по умолчанию не включено; см. эту страницу руководства:
Монтаж
mbstring не является расширением по умолчанию. Это означает, что он не включен по умолчанию. Вы должны явно включить модуль с опцией configure. Подробнее см. В разделе «Установка».
Таким образом, возможно, вам придется включить это расширение, изменив файл php.ini (и перезапустив Apache, чтобы ваша модификация была учтена)
Я не использую CentOS, но вам, возможно, придется сначала установить расширение, используя что-то вроде этого (например, на этой странице , которая, кажется, дает решение) :
yum install php-mbstring
(Название пакета может быть немного иным, поэтому используйте поиск yum, чтобы получить его :-))
Для Debian / Ubuntu:
sudo apt-get install php7.0-mbstring
Если у кого-то возникают проблемы с установкой пакета php-mbstring
в ubuntu, выполните следующие действия: sudo apt-get install libapache2-mod-php5
Для OpenSUse (менеджер пакетов zypper):
zypper install php5-mbstring
а также:
zyper install php7-mbstring
С другой стороны, вы можете искать их через YaST Software manager.
Обратите внимание, что вы должны перезапустить HTTP-сервер apache:
systemctl restart apache2.service