PhpMyAdmin не загружает файл импорта базы данных с неподдерживаемым сжатием (application/gzip)

Я обновил с более старой версии lubutu до 14, теперь запуская PHP 5.5 и phpMyAdmin 4.0.10deb1, я регулярно перемещаю небольшой экспорт баз данных MySQL между хостами (700 КБ gzip, около 7-10 МБ распакованного SQL).

Вы попытались загрузить файл с неподдерживаемым сжатием (application/gzip). Любая поддержка для него не реализована или не отключена вашей конфигурацией.

Это все работало плавно на старой установке PHP, я не уверен, что это тип типа mime или проблема с конфигурацией.

Я могу предоставить подробные дампы phpinfo(), но zlip есть, phar и т.д.:

Registered PHP Streams  https, ftps, compress.zlib, compress.bzip2, php, file, glob, data, http, ftp, phar, zip

Registered Stream Socket Transports tcp, udp, unix, udg, ssl, sslv3, tls

Registered Stream Filters   zlib.*, bzip2.*, convert.iconv.*, string.rot13, string.toupper, string.tolower, string.strip_tags, convert.*, consumed, dechunk

gzipped sql файлы не повреждены, они распаковываются и загружаются вручную без проблем. Если есть какая-то настройка конфигурации, которую вы можете предложить, я попробую сделать это

Ответ 1

У меня была та же проблема в другой конфигурации: Ubuntu 16.04 + PHP 7 + VirtualMin. Zip-библиотека для php7 была просто не установлена, поэтому это устранило проблему:

apt-get install php7.0-zip

Ответ 2

Поместите исправление отсюда http://piwigo.org/forum/viewtopic.php?pid=151458

if (extension_loaded('zlib') && !function_exists('gzopen') && function_exists('gzopen64'))
{
  function gzopen($filename, $mode, $use_include_path = 0) {
    return gzopen64($filename, $mode, $use_include_path);
  }
}

в вашем /etc/phpmyadmin/config.inc.php. Затем он выживет при обновлении apt-get.

Ответ 3

Вот альтернативный сценарий для вас.

Загрузили файл SQL из phpmyadmin на локальный ноутбук. Перед загрузкой на новый сервер я сжал локально форму внутри finder. (это ошибка), так как это добавляет папку __MACOS в сжатый файл. myfile.sql.zip

Создает одно и то же сообщение об ошибке.

phpMyAdmin не загружает файл импорта базы данных с неподдерживаемой сжатие (application/gzip)

Чтобы остановить это, просто gzip файл из командной строки, чтобы у вас было..

gzip myfile.sql

myfile.sql.gz

и загрузите это.

Ответ 4

Спасибо за все комментарии, оглядываясь на некоторые из ссылок, в которых проблема : выбор zlib для Debian/Ubuntu, предоставляющий функцию php gzopen64, а не ожидаемое gzopen, решение, выделенное здесь: http://kb.parallels.com/en/116645

/usr/share/phpmyadmin/import.php предоставляет следующее: смена gzopen на gzopen64 устраняет проблему

        case 'application/gzip':
        if ($cfg['GZipDump'] && @function_exists('gzopen')) {
            $import_handle = @gzopen($import_file, 'r');
        } else {
            $message = PMA_Message::error(
                __('You attempted to load file with unsupported compression (%s). Either support for it is not implemented or disabled by your configuration.')
            );
            $message->addParam($compression);
            PMA_stopImport($message);
        }
        break;