it-roy-ru.com

phpMyAdmin - расширение MySQL отсутствует

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

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

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

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

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

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

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

а также:

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

Какие-либо предложения?

7
Carpet

Сначала убедитесь, что у вас правильно установлен 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:\Users\имя пользователя\PHP\php.ini 

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

;extension=mysql.so

должен стать

extension=mysql.so

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

;extension=mysql.dll

должен стать

extension=mysql.dll
9
Alim Ul Gias

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

3
Ivan Buttinoni

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

apt-get install php5-mysqlnd

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

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

3
Alez Dakidd

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

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

2
Ahmad Baktash Hayeri

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

yum install php php-mysql httpd

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

service httpd restart

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

2
KalenGi

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

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

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

2
Gavin Simpson

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

Sudo apt-get install php7.0-bz2
Sudo apt-get install php7.0-Zip

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

1
Hafez Divandari

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

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

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

1
Stephan B

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

0
Dagligleder

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

;extension=mysql.dll

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

extension=mysql.dll
0
user1058988