PHP Неустранимая ошибка при попытке доступа к phpmyadmin mb_detect_encoding
Не знаю, что произошло, но ниже, что журнал дает мне при попытке доступа к phpmyadmin, пожалуйста, помогите. Попытка отладить другую проблему и столкнулась с этим. Невозможно вернуться к тому, когда он работает.
PHP Неустранимая ошибка: вызов неопределенной функции mb_detect_encoding () в /usr/share/php/gettext/gettext.inc в строке 177
следовать переадресации с curl в php Создание многоуровневого массива с использованием parentIds в PHP Facebook API / PHP - Можно ли изменить изображение профиля пользователя с помощью FB Graph API? PHP dom для получения класса тега с несколькими именами класса css Symfony2 / Doctrine: как повторно сохранить объект с OneToMany в качестве каскадной новой строки Сопоставьте и замените смайлики в строке - что является наиболее эффективным способом?
При попытке перейти на сайт, я получаю эту ошибку, я думаю, что, вероятно, связаны две ошибки:
Ошибка подключения к базе данных (1): Адаптер MySQL mysqli недоступен.
15 Solutions collect form web for “PHP Неустранимая ошибка при попытке доступа к phpmyadmin mb_detect_encoding”
Первая ошибка вызвана php, поскольку расширение mbstring либо не установлено, либо неактивно.
Вторая ошибка – вывод phpMyAdmin / вашего сайта с просьбой установить / включить расширение mysqli.
Чтобы включить mbstring и mysqli, отредактируйте php.ini и добавьте / раскомментируйте две строки с помощью mbstring.so и mysqli.so в unix или mbstring.dll и mysqli.dll в окнах
Unix /etc/(phpX/)php.ini
extension=mysqli.so extension=mbstring.so
Папка установки Windows PHP \ etc \ php.ini
extension=mysqli.dll extension=mbstring.dll
Не забудьте перезагрузить веб-сервер после этого.
EDIT: Пользователь добавил, что он использовал redhat в комментариях, поэтому вот как вы устанавливаете расширения на всех дистрибутивах на базе 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();
После прочтения о 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-installer-community- 5.6.11.0.msi
Надеюсь, эта помощь. Thx для ваших комментариев тоже.
в 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
Похоже, что у вашей установки PHP нет расширения mbstring и расширения адаптера mysqli .
Проверьте phpinfo();
или запустите php -i | grep 'mbstring\|mysqli'
php -i | grep 'mbstring\|mysqli'
в терминале.
У меня была такая же проблема на моем windows7 – 32 бит:
1. «PHP Неустранимая ошибка: вызов неопределенной функции 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\"
и это сработало.
В php.ini
мне пришлось изменить
extension_dir = "ext"
в
extension_dir = "C:/PHP/ext"
так как мой PHP был установлен в C:\PHP
. Мне пришлось использовать /
вместо \
, а затем это сработало.
Также раскомментируйте mbstrings
, mysqli
и расширения mysql
.
Что помогло мне (используя 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)
Перекомпилируйте PHP с помощью mbstring.
./configure --enable-http --with-apxs2 --with-mysql --with-gd --with-curl --with-mbstring
make make install
Мое предположение было бы проверить, что расширение mysqli включено в вашей конфигурации PHP. Больше информации было бы здорово (например, ОС, стек AMP и т. Д.).
Проверьте конфигурацию php.ini для mysqli и убедитесь, что нет ';' перед расширением. В моей настройке включен php_mysqli_libmysql.dll.
Попробуйте установить mysqli и pdo. Поместите его в терминал:
./configure --with-mysql=/usr/bin/mysql_config \ --with-mysqli=mysqlnd \ --with-pdo-mysql=mysqlnd
Я попытался в Windows, и у меня возникла такая же проблема после включения этого в PHP installation folder\etc\php.ini
:
extension=mysqli.dll extension=mbstring.dl
Вы также должны включить следующее в ini-файле:
extension_dir = "ext"
phpMyadmin работает сейчас!
В Windows 2008 Server.
Я удалил ";" перед расширением = php_mbstring.dll в файле php.ini, и он работал … я следил за ссылкой …
- Некоторые версии окон не поставляются с libmysql.dll, которые необходимы для загрузки расширений mysql и mysqli. Проверьте, доступен ли он в
C:/Windows/System32
(окна 7, 32 бита). Если нет, вы можете загрузить его DLL-files.com и установить его под C: / Windows / System32. - Если это не удастся, проверьте свои файлы журнала apache и приложите к решению выше, которое отвечает на ошибку, зарегистрированную вашим сервером.
Один из вариантов: отключить этот extension_dir = "ext"
а другой:
перейдите к значку wamp и просмотрите php и щелкните по журналам ошибок php, затем из журнала ошибок u можете найти точную ошибку.
эта ошибка возникает только в том случае, если пути неправильно установлены.
У меня были такие же проблемы, это то, что сработало для меня.
Вы можете щелкнуть по значку wampserver, затем в журнале ошибок PHP. Проверьте, не говорится ли это: Unable to load dynamic library 'c:/wamp/bin/php/php5.5.12/ext/php_ldap.dll'
Если да, то вы можете перезагрузить свою версию PHP, щелкнув значок wampserver, затем PHP, затем версию, а затем нажмите на свою версию. Подождите, пока все будет снова подключено к сети, а затем попытайтесь получить доступ к phpmyadmin.