phpMyAdmin - расширение MySQL отсутствует - PullRequest
9 голосов
/ 22 ноября 2011

Я установил все отдельно (Apache, PHP, MySQL и phpMyAdmin) и не использую компиляцию, до сих пор все работает отлично, кроме phpMyAdmin.

Проблема, с которой я сталкиваюсь, заключается в том, что в сообщении об ошибке говорится, что «расширение MySQL отсутствует», как только я пытаюсь вызвать:

локальный / PHPMyAdmin / index.php

И когда я звоню

локальная / PHPMyAdmin / Настройки / index.php

У меня есть два сообщения, в которых я не знаю, должно ли это быть так:

Bzip2 сжатие и распаковка требует функций (bzopen, bzcompress), которые недоступны в этой системе.

и

Для распаковки Zip требуются функции (zip_open), которые недоступны в этой системе.

Есть предложения?

Ответы [ 10 ]

10 голосов
/ 22 ноября 2011

Сначала убедитесь, что у вас правильно установлен mysql. Вы можете убедиться в этом, просто проверив, можете ли вы получить доступ к mysql с помощью командной строки mysql. Так что, если у вас MySQL работает, то, вероятно, он не загружается. Для этого выполните шаги, приведенные ниже

Прежде всего, вы должны найти свой php.ini. Это может быть где угодно, но если вы создадите небольшой php-файл с

<?php phpinfo(); ?>

скрипт, он скажет вам, где он находится. Просто посмотрите на путь загруженного файла конфигурации. Общие места включают / etc / apache /, /etc/php4/apache2/php.ini, /etc/php5/apache2/php.ini или даже /usr/local/lib/php.ini для Windows, это может быть C: \ Пользователи \ имя пользователя \ PHP \ php.ini

Отредактируйте php.ini вашего сервера и найдите следующую строку. Удалите ‘;’ из начала строки и перезапустите Apache. Теперь все должно работать нормально!

;extension=mysql.so

должно стать

extension=mysql.so

Для окон это будет

;extension=mysql.dll

должно стать

extension=mysql.dll
3 голосов
/ 22 ноября 2011

В некоторых дистрибутивах Linux есть пакеты php_mysql и php_mysqli для установки.

2 голосов
/ 19 марта 2017

Установка расширений PHP bzip2 и zip решила мою проблему в Ubuntu:

sudo apt-get install php7.0-bz2
sudo apt-get install php7.0-zip

Используйте php(you version)-(extension) для установки и включения любых отсутствующих модулей, которые требуются в файле readme для phpmyadmin.

2 голосов
/ 17 сентября 2016

Я просто добавляю

apt-get install php5-mysqlnd

Это попросит перезаписать mysql.so из "php5-mysql".

Эта работа для меня.

2 голосов
/ 21 марта 2015

Так же, как другие заявили, вам нужно удалить ';' из:;extension=php_mysql.dll и;extension=php_mysqli.dll

в вашем php.ini для включения расширений mysql и mysqli.Но НАИБОЛЕЕ ВАЖНО из всех , вы должны установить extension_dir в вашем php.ini, чтобы он указывал на каталог ваших расширений.По умолчанию большую часть времени составляет «ext».Вы должны изменить его на абсолютный путь к папке расширений.т.е. если у вас установлен xampp на диске C, то C:/xampp/php/ext - это абсолютный путь к папке ext, и он должен работать как шарм!

2 голосов
/ 13 августа 2012

В моем случае мне пришлось установить расширение:

yum install php php-mysql httpd

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

service httpd restart

Это решило проблему.

2 голосов
/ 24 июня 2012

Вам нужно указать полный путь в php ini при загрузке mysql dll, т.е.: -

расширение = c: /php54/ext/php_mbstring.dll
extension = c: /php54/ext/php_mysql.dll

Тогда вам не нужно перемещать их в папку Windows.

1 голос
/ 22 ноября 2011

В вашей установке отсутствуют некоторые модули php, в файле readme для phpmyadmin должен быть список необходимых модулей.Если вы недавно включили модули, попробуйте перезапустить службу / демон apache.

Редактировать: Кажется, что в документах нет единого «включить эти модули», поэтому включите либо mysql, либо mysqliв вашем php.ini (вам может понадобиться сначала установить его).

Эти два сообщения не важны, если вы не собираетесь загружать или скачивать сжатый файл в phpMyAdmin.Если вы это сделаете, включите модули zlib и / или bz2.

0 голосов
/ 07 августа 2017

У меня была похожая проблема, но это не помогло добавить extension = mysql.so в мой php.ini. Оказалось, что файл mysql.so не был ни в моей папке расширения, ни где-либо еще на моей машине. Решил это, загрузив исходник php и собрав расширение вручную, а затем скопировав его в папку расширения.

0 голосов
/ 23 ноября 2011

Просто проверьте ваш файл php.ini, в этом файле точка с запятой (;) используется для комментариев если видите, удалите точку с запятой;.

;extension=mysql.dll

Теперь ваше расширение включено, но вам нужно перезапустить appache

extension=mysql.dll
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...