У меня есть сервер (Ubuntu 11.10 x64) с PHP 5.3.8 с Apache2 / MySQL. В настоящее время я работаю над проектом, в котором мне требуется выполнить некоторую специфическую кодировку символов, но я обнаружил, что ни одна из функций multibyte (mb_ *) не работает.
Однако, когда я смотрю в phpinfo (), я вижу, что поддержка многобайтов включена.
Я пробовал такие вещи, как apt-get install php5-mbstring, php-mbstring, php-multibyte и т. Д. И т. Д., Но никто не работает.
Может ли кто-нибудь указать мне в правильном направлении? Заранее спасибо!
./configure –enable-mbstring
Странно, что phpinfo () уже показал, что он включен. Я не знаю, почему это не сработало раньше: /
Многие новые серверы Linux не имеют модулей PHP Multibyte, установленных по умолчанию. Простое решение часто устанавливает php-mbstring.
В Red Hat flavors (CentOS, Fedora и т. Д.) Вы можете использовать yum install php-mbstring.
После этого перезапустите сервер Apache. Используйте сервис httpd restart для ароматизаторов RH.
У вас установлен libmbfl? Если это так – он должен быть показан в phpinfo()
как «многобайтовый строковый движок» под mbstring.
Иногда люди получают такую ошибку: Неустранимая ошибка: вызов неопределенной функции mb_convert_encoding () в /public_html/this/this.php в строке 188. Обычно такие ошибки возникают и в PHP-сайтах и в PHP-среде.
Похоже, PHP mbstring не установлен на вашем сервере.
Решение :
В моем случае я просто раскомментировал расширение = php_mbstring.dll в файле php.ini, и проблема была решена.
Не забудьте перезапустить сервер apache после расторжения; расширение = php_mbstring.dll
Код, взятый из этого блога: http://chandreshrana.blogspot.in/2016/01/call-to-undefined-function.html