PHP отсутствует функция MB strpos?
Я получаю эту ошибку:
PHP Fatal error: Call to undefined function mb_strpos() in /my/file.php
что странно, потому что mb_strpos()
был представлен в PHP 4, и я запускаю PHP 5.3.3
$ php -v
PHP 5.3.3 (cli) (built: Feb 22 2012 19:38:14)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
кто-нибудь еще столкнется с чем-то подобным и знает, как это исправить? Я искал и не могу понять.
PS. Я управляю centOS 5.
4 ответов
MBString не является расширением по умолчанию в PHP, и вы должны установить его если вы используете linux, попробуйте
yum install php-mbstring.x86_64 # for RedHat derivative systems
как пользователь root или
apt-get install php-mbstring.x86_64 # for Debian derivative systems
в windows вы должны редактировать php.ini для использования библиотеки dll расширения
Примечание: mb_strpos по-прежнему поддерживается в PHP 5
Я бы предположил, что ваша версия PHP не была построена с опцией "--enable-mbstring".
Вы можете проверить с
mbstring
Multibyte Support enabled
Multibyte string engine libmbfl
HTTP input encoding translation disabled
звучит так, как будто он просто не установлен. пожалуйста, взгляните на документация:
mbstring является расширением не по умолчанию. Это означает, что он не включен по умолчанию. Необходимо явно включить модуль с параметром configure. [...]