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. [...]


Это основные PHP