mb convert encoding, неопределенная функция, в то время как mbstring включен

У меня есть сервер (Ubuntu 11.10 x64) под управлением PHP 5.3.8 с Apache2 / MySQL. В настоящее время я работаю над проектом, в котором мне нужно выполнить определенную кодировку символов, но я обнаружил, что ни одна из многобайтовых (mb_*) функций не работает.

однако, когда я смотрю в phpinfo (), я вижу, что многобайтовая поддержка включена.

Я пробовал такие вещи, как apt-get install php5-mbstring, php-mbstring, php-multibyte и т. д. так далее. но никто, кажется, работа.

может ли кто-нибудь указать мне в правильном направлении для этого? Заранее спасибо!

edit: исправлено путем перекомпиляции PHP (это было мое последнее средство, которого я изначально хотел избежать)

./настроить --возможность-работы mbstring

странно это, phpinfo () уже показал, что он был включен. Я не знаю, почему это не сработало раньше :/

3 ответов


на многих новых серверах Linux по умолчанию не установлены многобайтовые модули PHP. Простым решением часто является установка php-mbstring.

на ароматах Red Hat (CentOS, Fedora и т. д.) вы можете использовать Yum установить PHP-работы mbstring.

убедитесь, что вы перезагрузите сервер Apache после этого. Используйте перезапуск службы httpd на ароматизаторах RH.


иногда люди получают такую ошибку: фатальная ошибка: вызов неопределенной функции mb_convert_encoding () в /public_html/this/this.php в строке 188. Обычно такие ошибки возникают на PHP-сайтах и в PHP-фреймворке.

похоже, что PHP mbstring не установлен на вашем сервере.

устранение :

в моем случае у меня просто uncomment; extension=php_mbstring.dll в php.ini и вопрос решен.

Не забудьте перезапустите сервер Apache после раскомментируйте ;расширение=php_mbstring.dll файлы

код взят из этого блога: http://chandreshrana.blogspot.in/2016/01/call-to-undefined-function.html


в случае вашей установки php5.6 аналогично решению neilsimp1:

под управлением sudo apt-get install php7.0-mbstring а то sudo service php7.0-fpm рестарт сделал трюк для меня.

sudo apt-get install php5.6-mbstring

а затем перезапустите службу apache

sudo service apache2 restart.