Неустранимая ошибка: вызов неопределенной функции mb detect encoding()

Я получаю эту ошибку после попытки настроить лампу, следуя в этом уроке, и я получаю вышеуказанную ошибку после попытки настроить phpmyadmin.

фатальная ошибка: вызов неопределенной функции mb_detect_encoding() в C:WebServerApachehtdocsphpmyadminlibrariesphp-gettextgettext.Инк на линии 177

я последовал совету здесь: PHP фатальная ошибка при попытке доступа к phpmyadmin mb_detect_encoding, и внес эти изменения.

когда я запускаю phpinfo(), Я вижу, что поддержка MySQL и mb_string включены, как показано ниже:

mb_string

MySQL

mysqli

11 ответов


установите также библиотеку gd.

проверьте эту ссылку http://www.php.net/manual/en/mbstring.installation.php


есть гораздо более простой способ, чем перекомпиляция PHP. Просто yum установите необходимую библиотеку mbstring:

пример: Как установить PHP mbstring на CentOS 6.2

yum --enablerepo=remi install php-mbstring

О, и не забудьте перезапустить apache после этого.


Mbstring является расширением не по умолчанию. Это означает, что он не включен по умолчанию. Необходимо явно включить модуль с параметром configure.

в случае, если ваша версия php 7.0:

sudo apt-get install php7.0-mbstring

sudo service apache2 restart

в случае, если ваша версия php 5.6:

sudo apt-get install php5.6-mbstring

sudo service apache2 restart

в Windows откройте файл php.ini и внесите следующие изменения:

удалите комментарий и укажите на каталог ext

; extension_dir ="./ "- >extension_dir = "C:/Php/ext"

удалить комментарий этого расширения

  • расширения=php_mbstring.dll файлы
  • расширения=php_mysqli.dll файлы

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

файл httpd -к перезапустить


под Windows / WAMP, похоже, нет никакой php_mbstring.dll зависимости от расширения GD2, расширений MySQL, а также от внешних DLL / libs:

deplister.exe ext\php_mbstring.dll

php5ts.dll,OK
MSVCR110.dll,OK
KERNEL32.dll,OK

deplister.exe ext\php_gd2.dll

php5ts.dll,OK
USER32.dll,OK
GDI32.dll,OK
KERNEL32.dll,OK
MSVCR110.dll,OK

независимо от того, что php_mbstring уже нужно, он встроен (статически скомпилирован прямо в DLL).

вызов неопределенной функции mb_detect_encoding()

эта ошибка также очень специфична и детерминированный...

функции mb_detect_encoding() не удалось, потому что php_gd, php_mysql, php_mysqli или другое расширение не было загружено; оно просто не было найдено.

Я предполагаю, что все ответы, которые сообщаются как действительные (для Windows / WAMP), которые говорят, чтобы загрузить другие расширения, изменить php.ini extension_dir пути (если это было неправильно для начала, никакие расширения не будут загружаться) и т. д., работают больше из - за a) не комментируя extension = php_mbstring.dll line, или B) перезапуск Apache или компьютер (для вступления изменений в силу).

в Windows большую часть времени проблема заключается в том, что php_mbstring.dll либо:

  • заблокирован Windows. Разблокируйте его, щелкнув правой кнопкой мыши, проверьте свойства.

  • или PHP не может загрузить php_mbstring.dll из-за загрузки другой версии (например, из-за неправильной установки PHP DLL в C:\Windows\system32), некоторое несоответствие версий, отсутствующие DLL времени выполнения и т. д. Проверьте ошибки Apache и PHP сначала файлы журналов для подсказок.

более глубокий ответ здесь:вызов неопределенной функции mb_detect_encoding


когда я открыл свой php.ini-файл, строка" extension_dir " выглядела следующим образом:

extension_dir = "C:/wamp/bin/php/php5.4.16/ext/"

который я изменил на:

extension_dir = "C:\wamp\bin\php\php5.4.16\ext\"

и это сработало.


вы должны использовать только английскую версию phpmyadmin если вы используете все языки, вы должны включить все языки mbstring в php.в файле.....просто найдите mbstring в php.в


проблема также может быть в том, что Apache не может найти php.Ини Если вы неправильно установили PHPIniDir. Мой был установлен на: PHPIniDir "c:/php7" Но, папка на самом деле просто " php" Ключ был просмотр phpinfo() Который показал: Конфигурационный файл (php.ini) путь C:\windows


надеюсь, это поможет некоторым ppl, я получил эту ошибку, когда я добавил путь и расширение в "docref_root" "docref_ext" в моем php.ini-файл, я тогда прокомментировал его, и все было в порядке,но теперь не могу получить мою помощь.


для fedora:

yum install php-mbstring

затем перезапустите apache


у меня была такая же проблема с Ubuntu 17, Ispconfig не обрабатывал операции в очереди любого рода, а также server.sh команда не работала. Я проверил, и запущенная версия PHP после обновления ОС была 7.1, поэтому решение должно было ввести:

apt-get install php7.1-mbstring

и теперь все ок