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

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

Неустранимая ошибка: вызов неопределенной функции mb_detect_encoding () в C: \ WebServer \ Apache \ htdocs \ phpmyadmin \ libraries \ php-gettext \ gettext.inc в строке 177

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

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

mb_string

MySQL

MySQLi

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

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

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

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

 yum --enablerepo=remi install php-mbstring 

О, и не забудьте перезапустить апач потом.

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

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

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

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

  • расширение = php_mbstring.dll
  • расширение = php_mysqli.dll

Перезапустить службу Apache

httpd -k restart

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

В 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 (если это было неправильно, чтобы начать, НЕТ расширений будет загружаться), и т. д., работают больше из-за того, что:) не комментируя строку extension = php_mbstring.dll или b) перезапуска Apache или компьютера (для того, чтобы изменения вступили в силу).

В Windows чаще всего проблема заключается в том, что php_mbstring.dll:

  • Заблокировано Windows. Разблокируйте его, щелкнув правой кнопкой мыши его, установите флажок «Свойства».

  • Или PHP не может загрузить php_mbstring.dll из-за загрузки другой версии (например, из некоторых неправильных DLL-библиотек PHP в 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\" 

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

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

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

Для федералов:

yum install php-mbstring

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