Подтвердить что ты не робот

PHP Неустранимая ошибка при попытке доступа к phpmyadmin mb_detect_encoding

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

PHP Неустранимая ошибка: вызов функции undefined mb_detect_encoding() в     /usr/share/php/gettext/gettext.inc в строке 177

При попытке перейти на сайт, я получаю эту ошибку, я думаю, что, вероятно, связаны две ошибки:

Ошибка подключения к базе данных (1): Адаптер MySQL mysqli недоступен.

4b9b3361

Ответ 1

Первая ошибка вызвана php, поскольку расширение mbstring либо не установлено, либо неактивно.

Вторая ошибка выводится на phpMyAdmin/на вашем сайте с просьбой установить/включить расширение mysqli.

Чтобы включить mbstring и mysqli, отредактируйте свой php.ini и добавьте/раскомментируйте две строки с помощью mbstring.so и mysqli.so в unix или mbstring.dll и mysqli.dll на windows

Unix/etc/(phpX/) php.ini

extension=mysqli.so
extension=mbstring.so

Папка установки Windows PHP\etc\php.ini

extension=mysqli.dll
extension=mbstring.dll

Не забудьте перезапустить веб-сервер после этого.

EDIT: Пользователь добавил, что он использовал redhat в комментариях, поэтому здесь вы устанавливаете расширения для всех Linux-дистрибутивов CentOS/Fedora/RedHat/Yum.

sudo yum install php-mysqli
sudo yum install php-mbstring

restart your werbserver
sudo /etc/init.d/httpd restart

вы можете проверить свою установку с помощью небольшого PHP скрипт в корне вашего документа. В этом списке перечислены все настройки, версии и активные расширения, которые вы установили для php

test.php

<?php
phpinfo();

Ответ 2

После прочтения файла extension_dir = "ext" я добавил строку в php.ini, но не работал, а затем начал искать журнал ошибок apache и увидел, что PHP фактически не смог найти DLL в указанном каталоге "ext", Я прокомментировал строку extension_dir, перезапустил Apache и снова просмотрел журнал ошибок, увидел, что PHP теперь ищет DLL в C:/PHP/ext (по умолчанию я предполагаю), но поскольку im использует другие папки, это не правильный путь, поэтому я раскомментировал строку extension_dir и написал следующее:

extension_dir = "C:/Apache24/PHP/ext" 

В моей конфигурации это правильный путь к dll.

и, конечно, раскомментирован:

extension=php_mbstring.dll
extension=php_mysql.dll
extension=php_mysqli.dll

Перезагрузили сервер Apache и интернет-браузер, и теперь phpMyAdmin работает с моим именем mySQL.

Таким образом, проблема с dll неверным путем и dll, необходимая для комментариев в php.ini, была проблемой.

Не забудьте перезапустить Apache и интернет-браузер после редактирования файлов конфигурации.

Системная спецификация: Windows 7 HB 64bit httpd-2.4.4-win32-ssl_0.9.8.zip php-5.4.16-Win32-VC9-x86.zip phpMyAdmin-4.0.4.1-all-languages.zip MySQL-инсталлятор-сообщества 5.6.11.0.msi

Надеюсь на эту помощь. спасибо для ваших комментариев тоже.

Ответ 3

в ubuntu 16.04, когда я попытался подключиться к phpmyadmin, появился белый пустой почтовый ящик, поэтому я выполнил указанную выше команду и работает phpmyadmin

sudo apt-get install php-mbstring php7.0-mbstring php-gettext

для поддержки поддержки mysql

sudo apt-get install php7.0-mysql

протестирован в ubuntu 16.04 с версией php 7

Ответ 5

У меня была такая же проблема на моем windows7- 32 бит:

1. PHP Fatal error: вызов функции undefined mb_detect_encoding() в /usr/share/php/gettext/gettext.inc в строке 177 "

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

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

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

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

и он работал.

Ответ 6

В php.ini мне пришлось изменить

extension_dir = "ext"

к

extension_dir = "C:/PHP/ext"

поскольку мой PHP был установлен в C:\PHP. Мне пришлось использовать / вместо \, а затем это сработало.

Также раскомментируйте расширения mbstrings, mysqli и mysql.

Ответ 7

Что помогло мне (используя XAMPP в Windows):

  • убедитесь, что в моем пути указан правильный путь для PHP (у меня было два PHP установки, один под c:\php и установка XAMPP в c:\xampp\php, который я хотел использовать)
  • убедитесь, что строки extension_dir="C:\xampp\php\ext"
    extension=php_mbstring.dll
    extension=php_exif.dll ; Must be after mbstring as it depends on it
    были без комментирования в файле php.ini(т.е. ; в начале)
  • перезапустить сервер Apache
  • последнее, но не менее важное: очистите кеш при перезагрузке страницы http://localhost/phpmyadmin/ (например, с помощью Ctrl-F5 в Chrome)

Ответ 8

Перекомпилируйте PHP с помощью mbstring.

./configure --enable-http --with-apxs2 --with-mysql --with-gd --with-curl --with-mbstring

make 

make install

Ответ 9

Попробуйте install mysqli и pdo. Поместите его в терминал:

./configure --with-mysql=/usr/bin/mysql_config  \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd

Ответ 10

Мое предположение - проверить, что расширение mysqli включено в вашей конфигурации PHP. Больше информации было бы здорово (например, ОС, стек AMP и т.д.).

Проверьте конфигурацию php.ini для mysqli и убедитесь, что нет ';' перед расширением. В моей настройке включен параметр php_mysqli_libmysql.dll.

Ответ 11

Я попытался в Windows, и я получил такую ​​же проблему после включения этого в PHP installation folder\etc\php.ini:

extension=mysqli.dll 
extension=mbstring.dl

Вы также должны включить в файл ini следующее:

extension_dir = "ext"

phpMyadmin работает сейчас!

Ответ 12

В Windows Server 2008 Server.

i удален ";" перед расширением = php_mbstring.dll в файле php.ini, и он работал... я следил за ссылкой...

https://bugs.php.net/bug.php?id=64965

Ответ 13

  • Некоторые версии окон не содержат libmysql.dll, которые необходимы для загрузки расширений mysql и mysqli. Проверьте, доступна ли она в C:/Windows/System32 (окна 7, 32 бита). Если нет, вы можете скачать DLL-files.com и установить его под C:/Windows/System32.
  • Если это не удастся, проверьте свои файлы журнала apache и приложите к решению выше, которое отвечает на ошибку, зарегистрированную вашим сервером.

Ответ 14

Возможны следующие варианты: отключен этот extension_dir = "ext"

а другой:

перейдите к значку wamp и просмотрите php и щелкните по журналам ошибок php, затем из журнала ошибок вы можете найти точную ошибку.

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

Ответ 15

У меня были такие же проблемы, это то, что сработало для меня.

Вы можете щелкнуть по значку wampserver, затем в журнале ошибок PHP. Проверьте, говорит ли он это: Unable to load dynamic library 'c:/wamp/bin/php/php5.5.12/ext/php_ldap.dll'

Если да, то вы можете перезагрузить свою версию PHP, щелкнув значок wampserver, затем PHP, затем версию, а затем нажмите на свою версию. Подождите, пока все будет снова подключено к сети, а затем попытайтесь получить доступ к phpmyadmin.