phpMyAdmin 不会加载不支持压缩的数据库导入文件(应用程序/gzip)

问题描述 投票:0回答:9

我从较旧的 lubutu 版本升级到 14,现在运行 PHP 5.5 和 phpMyAdmin 4.0.10deb1,我定期在主机之间移动小型 MySQL 数据库导出(700KB gzip,大约 7-10MB 解压 SQL)。

您尝试加载不支持的压缩文件(应用程序/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

gzip 压缩的 sql 文件没有损坏,它们可以毫无问题地手动解压和加载。如果有一些配置设置,您可以建议我尝试一下

php mysql configuration phpmyadmin gzip
9个回答
45
投票

我在不同的配置下遇到了同样的问题:Ubuntu 16.04 + PHP 7.0 + VirtualMin。 php7.0 的 zip 库根本没有安装,所以这解决了问题:

apt-get install php7.0-zip

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


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 升级后继续存在。


7
投票

这是您的替代方案。

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

生成相同的错误消息。

phpMyAdmin 不加载不支持的数据库导入文件 压缩(应用程序/gzip)

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

gzip myfile.sql

myfile.sql.gz

然后上传。


1
投票

感谢所有评论,查看了一些链接,我的问题 Debian/Ubuntu 选择 zlib 提供 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;

0
投票

在 CentOS 8 上

yum install php-pecl-zip

应该修复它。


0
投票

如果您在安装

php*.zip
后继续看到此错误,则您的 phpMyAdmin 配置已明确禁用 zip 压缩。编辑配置文件,通常位于
/etc/phpMyAdmin/config.inc.php
并设置:

$cfg['ZipDump'] = true;

0
投票

对于 Windows,查找 php.ini 并确保加载 zip 扩展名并且其行未被注释

extension=zip 

如果是这样评论的

;extension=zip
然后删除
;


-1
投票

你可能必须配置你的 apache 服务器:

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


-1
投票

安装7zip软件,将数据文件压缩为gz格式并导入。 你的问题将会得到解决

© www.soinside.com 2019 - 2024. All rights reserved.