phpMyAdmin没有加载不受支持的压缩数据库导入文件(application / gzip)

时间:2014-06-04 08:59:39

标签: php mysql configuration phpmyadmin gzip

我从旧的lubutu版本升级到14版,现在运行PHP 5.5和phpMyAdmin 4.0.10deb1,我经常在主机之间移动小型MySQL数据库导出(700KB gzip,大约7-10MB解压缩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文件没有损坏,他们解压缩并手动加载没有问题。如果有一些配置设置,你可以建议我试试看

6 个答案:

答案 0 :(得分:38)

我在不同的配置下遇到了同样的问题:Ubuntu 16.04 + PHP 7.0 + VirtualMin。 简单地没有安装php7.0的zip库,因此解决了这个问题:

apt-get install php7.0-zip

编辑:这适用于php 7.0,该命令必须适合您的php版本(7.x)

答案 1 :(得分:7)

从此处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升级。

答案 2 :(得分:5)

这是您的替代方案。

将一个SQL文件从phpmyadmin下载到本地笔记本电脑。 在上传到新服务器之前,我在finder中进行了本地压缩。 (这是错误的)因为这会将__MACOS文件夹添加到压缩文件中。 myfile.sql.zip

生成相同的错误消息。

  

phpMyAdmin不会加载不受支持的数据库导入文件   压缩(application / gzip)

要阻止这种情况发生,只需从命令行gzip文件,这样就可以了..

gzip myfile.sql

  

myfile.sql.gz

并上传。

答案 3 :(得分:1)

感谢所有评论,查看一些链接我的问题 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;

答案 4 :(得分:0)

在 CentOS 8 上

yum install php-pecl-zip

应该修复它。

答案 5 :(得分:-1)

您可能需要配置apache服务器:

请参阅此链接以获取更多信息:http://httpd.apache.org/docs/2.2/mod/mod_deflate.html