PHPMyAdmin 中的导入文件大小限制

Posted

技术标签:

【中文标题】PHPMyAdmin 中的导入文件大小限制【英文标题】:Import file size limit in PHPMyAdmin 【发布时间】:2011-04-26 21:29:04 【问题描述】:

我已经更改了我知道的所有 php.ini 参数: upload_max_filesize, post_max_size.

为什么我仍然看到 2MB?

我在 Windows 7 主机上的 Ubuntu VirtualBox 上使用 Zend Server CE。

【问题讨论】:

无法回答。哪里改的? “看见”在哪里?你确定要修改phpinfo()所示路径中的php.ini吗? (这是最常见的错误) 我已经通过 ZendServer 直接更改了设置——甚至通过 linux shell(使用 sudo vi php.ini...)——当你创建一个数据库然后你想将一些数据导入它时,文件大小限制显示为 2MB。 在 Windows 上 -> 我在 32 位版本的 PHP(程序文件 x86/PHP)中编辑 php.ini 文件无济于事。当我编辑 64 位(程序文件/PHP)时,它起作用了。希望这对某人有所帮助。 在做完这个线程中提到的所有更改后,phphmyadmin 中的最大文件大小仍为 128M。 【参考方案1】:

Ubuntu 20.04 编辑:sudo nano /etc/php/7.4/apache2/php.ini

修改:post_max_size = 120Mupload_max_filesize = 120M

将 120 替换为您需要的值,例如22M等

【讨论】:

【参考方案2】:

我已经尝试了以上所有方法,但没有任何效果:我的 phpmyadmin(在 wamp 上)仍然显示 128MiB(而我需要导入大小为 212Mb 的 DB)

所以如果你像我一样卡住,你可以在命令行的帮助下导入它:

    从 .sql 文件所在的文件夹(或 cd 终端中的路径)运行 bashcmdpowershell 或任何终端) run mysql -u username -p database_name < file.sql whereusername - 是 mysql 服务器的用户名database_name - 是您要导入的数据库的名称 file.sql - 是您的 sql 文件的名称

??

在尝试通过 php.ini 和其他配置文件操作 2 小时后,对我来说就像是一种魅力??

【讨论】:

【参考方案3】:

在您的服务器上找到名为:php.ini 的文件并按照以下步骤操作

安装 apache2 和 php5 后,您需要在 php.ini 文件中进行三处更改。首先打开文件进行编辑,例如:

sudo gedit /etc/php5/apache2/php.ini

sudo gedit /etc/php/7.0/apache2/php.ini

接下来,搜索 post_max_size 条目,并输入一个大于数据库大小(本例中为 15M)的数字,例如:

post_max_size = 25M

接下来编辑memory_limit 的条目,并给它一个比post_max_size 更大的值。

然后确保upload_max_filesize的值小于post_max_size

从大到小的顺序应该是:

    memory_limit
    post_max_size
    upload_max_filesize

保存文件后,重新启动 apache(例如sudo /etc/init.d/apache2 restart)就可以设置了。

不要忘记Restart Apache Services 以应用更改。

【讨论】:

有时您也需要更改超时时间 还添加 $cfg['ExecTimeLimit'] = 0;到 config-inc.php 请注意,phpinfo 中列出的 php.ini 文件(“加载的配置文件:/etc/php/7.0/cgi/php.ini”)不是必须编辑的文件。相反,它是这里列出的! ("/etc/php/7.0/apache2/php.ini"). 我只是想补充一点,在使用Virtualmin时,应该修改的php.ini不是/etc/php7.2/apache2/php.ini,而是你要编辑的域的那个,例如/home/user/etc/php7.2/php.ini 或子域/home/user/domains/sub.example.com/etc/php7.2/php.ini “了解更多详情”不再有效。转到“找不到页面”类型的页面,错误消息以希腊语显示。【参考方案4】:

打开这个文件

编辑这些参数:

memory_limit =128M post_max_size = 64M upload_max_filesize = 64M

【讨论】:

感谢您显示配置按钮,我已经好多年没有看到那里了 - 让它变得如此简单【参考方案5】:

注意:(2020 年 7 月添加)

我很惊讶没有其他人提到这一点...更改 php.ini 可能是您将文件上传大小增加到 64MB 的最后手段。

在开发机器上可能没什么大不了的,但是在你有多个网站运行的服务器上编辑 php.ini 以全局增加最大上传大小可能是一个非常糟糕的主意。 PHPMyAdmin 的 MySQL 导入通常很大,但您不希望每个 Tom、Dick 和 Mary 都将 64MB 文件上传到服务器上的另一个站点,因为您需要不时为您的 MySQL 数据库执行此操作。

因此,我建议一个更好的解决方案(假设您使用标准的 Apache PHP 模块)编辑 PHPMyAdmin 的特定虚拟主机配置。

在 Ubuntu Linux 上,它位于 /etc/apache2/conf-enabled/ phpmyadmin.conf。在 WAMP/Windows/Whatever 上,您需要查看 Apache 配置的设置,但它可能位于 conf-enabled、conf.d、site-enabled 或类似的位置。这些实际上通常只是指向位于 /etc/phpmyadmin/apache.conf 之类的实际文件的符号链接(此处再次以 Ubuntu 为例)。

您的 apache.conf 文件将包含如下行:

Alias /phpmyadmin /usr/share/phpmyadmin

<Directory /usr/share/phpmyadmin>
    Options SymLinksIfOwnerMatch
    DirectoryIndex index.php

    # limit libapache2-mod-php to files and directories necessary by pma
    <IfModule mod_php7.c> 
        php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
        php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/php/php-php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/:/usr/share/doc/phpmyadmin/:/usr/share/php/phpseclib/:/usr/share/php/PhpMyAdmin/:/usr/share/php/Symfony/:/usr/share/php/Twig/:/usr/share/php/Twig-Extensions/:/usr/share/php/ReCaptcha/:/usr/share/php/Psr/Container/:/usr/share/php/Psr/Cache/:/usr/share/php/Psr/Log/:/usr/share/php/Psr/SimpleCache/
    </IfModule>

</Directory>

&lt;IfModule mod_php7.c&gt; 之后立即添加这些行:

    php_value post_max_size 64M
    php_value upload_max_filesize 64M

根据您的服务器配置,如果您愿意,您可能可以在 .htaccess 文件中实现相同的功能。在这种情况下,您可以自己添加这两行(假设您确定 PHP 已启用)。

如果您使用 fpm 或 fastcgi 或带有或不带有 Apache 的东西,则可以通过使用 .user.ini 文件来实现相同的更本地化的控制上传大小的方法。

【讨论】:

好建议,但对我没有用。 Apache 使用 PHP 5.6,标签是 实际上将标签更改为 IfModule mod_php5.c 确实,在 DigitalOcean 托管服务上,phpmyadmin.conf 文件已经存在。添加文件限制就像一个魅力!【参考方案6】:

我在本地主机上使用 Bitnami WAMP Stack 7.1.8-0。对我来说,PHPMyAdmin 的最大上传大小限制设置为 80MiB,如屏幕截图 https://nimb.ws/fFxv7O 所示。我设法增加了这个大小限制,如下所述:

    转到您安装 Bitname WAMP Stack 的文件夹,对我来说,它是“E:\Bitnami WAMP Stack” 进一步进入,进入路径“apps\phpmyadmin\conf” 在您喜欢的文本编辑器中打开文件 httpd-app.conf 找到以下两行:
php_value upload_max_filesize 80M    
php_value post_max_size 80M

(这些行末尾的 80M 值可能对你不同)

    根据需要在这两行末尾更改这些值(本例中为 80M)。

    重启 WAMP 服务器。

现在转到 PHPMyAdmin 并查看,您的上传大小限制应该更新为您设置的任何值。就是这样。

【讨论】:

【参考方案7】:

使用 WAMP,在 Windows10 上打开

c:\wamp64\alias\phpmyadmin.conf

并在这些行的末尾将 128 更改为 256

  php_admin_value upload_max_filesize 128M
  php_admin_value post_max_size 128M

重启 WAMP

【讨论】:

以上是 Wamp 的完美解决方案【参考方案8】:

我想如果你的php版本高于5.5,假设它是5.6,那么你的php.ini文件在下面的文件夹中

/etc/php/5.6/apache2

因此您必须在此处应用 post_max_sizeupload_max_filesizememory_limit 等更改。

希望对你有所帮助。

【讨论】:

【参考方案9】:

搜索php.ini文件

对于xampp,你可以得到它@C:\xampp\php

找到以下3个属性并根据需要设置值

memory_limit post_max_size upload_max_filesize

重启 Apache!

【讨论】:

【参考方案10】:
 php_value upload_max_filesize 100M
    php_value post_max_size 100M

在 php.ini 中增加该大小,然后运行命令

sudo service apache2 restart
sudo service mysql restart

在 xammp 中

restart all service

【讨论】:

在生产环境中增加上传的大小时要小心,因为这会带来潜在的 DoS 安全风险。 是的,我知道黑客可能会通过 IP 弹跳一堆假请求来关闭您的服务器。【参考方案11】:

首先要检查(或要求您的主机提供商检查)是 php.ini 配置文件中 max_execution_timeupload_max_filesizememory_limitpost_max_size 的值。所有这三个设置都限制了 PHP 可以提交和处理的最大数据大小。

请注意post_max_size 需要大于upload_max_filesize

【讨论】:

【参考方案12】:

只需更改您的 php.ini(xampp/php/php.ini) 文件,它对我有用!

max_execution_time = 5000
max_input_time = 5000
memory_limit = 1000M
post_max_size = 750M
upload_max_filesize = 750M

并且,不要忘记从 XAMPP 控制面板重新启动 Apache 模块

【讨论】:

这似乎是Bart C's answer的摘录。 当我需要为各种设备导入大文件时,我正在使用这些更改。【参考方案13】:

我遇到了同样的问题,在php.ini 中增加最大大小对 wordpress 没有影响,并尝试了许多解决方案,例如 -:

    通过functions.php增加最大尺寸 通过.htaccess 文件增加最大大小。

对我有用的是在.htaccess 文件中添加最大大小。 它既不适用于 php.ini 文件,也不适用于 functions.php 文件。

我刚刚在.htaccess 文件中添加了这段代码并完成了

php_value upload_max_filesize 64M
php_value post_max_size 64M
php_value max_execution_time 300
php_value max_input_time 300

注意:我确实在&lt;IfModule&gt;标签中添加了上述代码。

如果php.ini 文件在改变大小方面没有做任何事情,那么请尝试其他 2 个文件,其中一个肯定会为您工作。

READ THIS ARTICLE TO KNOW ABOUT ALL FILES IN WHICH YOU CAN INCREASE MAX SIZE

【讨论】:

【参考方案14】:

要通过 PHPMyAdmin 上传大文件,请按以下步骤操作:

第 1 步:打开 php.ini 文件。

第 2 步:升级内存限制:

memory_limit = 750M

第 3 步:升级帖子的最大尺寸:

post_max_size = 750M

第 4 步:升级要上传的最大文件大小:

upload_max_filesize = 1000M

第五步:升级最大执行时间:

max_execution_time = 5000

第 6 步:升级最大输入时间:

max_input_time = 3000

第 7 步:重新启动 xampp 控制面板。

【讨论】:

【参考方案15】:

我遇到了同样的问题,我的上传限制是 2 MB,我编辑了我的 php.ini,并将其设置为 5 MB,但即使在重新启动服务器后仍显示为 2 MB。比我将我的 .sql 文件压缩为 zip,方法是保持其名称为 xyz.sql.zip,因此它从 3.5 mb 变为 451 kb。然后我又上传了。它对我有用。

【讨论】:

【参考方案16】:

您可以只使用 MySQL 管理员应用程序或 MySQL 工作台。 轻量级应用程序,您可以导出或导入整个服务器,无论大小。 在这里聚会迟到了,但我希望它对某人有所帮助。

【讨论】:

【参考方案17】:

做以下事情

增加 php.ini 中的 upload_max_file_size gzip 你的 sql 文件

然后导入文件

【讨论】:

【参考方案18】:

就我而言,我还必须在 /etc/apache2/mods-available/fcgid.conf 中添加“FcgidMaxRequestLen 1073741824”行(不带引号)。它记录在这里 http://forum.ispsystem.com/en/showthread.php?p=6611 。从 mod_fcgid 2.3.6 开始,他们将 FcgidMaxRequestLen 的默认值从 1GB 更改为 128K(参见 https://svn.apache.org/repos/asf/httpd/mod_fcgid/trunk/CHANGES-FCGID)

【讨论】:

【参考方案19】:

当前的答案都不适用于 WHM / cPanel 服务器。

增加 WHM 的限制:

    导航到服务器配置 > 调整设置 选择 PHP 选项卡 更新“cPanel PHP 最大 POST 大小”和“cPanel PHP 最大上传大小”(POST 大小应该更大)

【讨论】:

【参考方案20】:

检查所有 3 个:

upload_max_filesize memory_limit post_max_size

在php.ini配置文件中

* 对于使用 wamp @windows 的用户,您可以按照以下步骤操作:*

它还可以适应任何 phpmyadmin 安装。

找到用于 PhpMyAdmin 配置的 config.inc.php 文件(对于 wamp,它位于:C:\wamp\apps\phpmyadminVERSION\config.inc.php

在文件末尾添加这一行“?>”:

$cfg['UploadDir'] = 'C:\wamp\sql';

保存

创建文件夹

C:\wamp\sql 

在那里复制你巨大的 sql 文件。

重启服务器。

转到您的 phpmyadmin 导入选项卡,您将看到上传到 c:\wamp\sql 文件夹的文件列表。

【讨论】:

【参考方案21】:

我在 phpmyadmin 和 OS X 10.9.4 Mavericks 上更改上传大小时遇到​​问题。 一开始不知道php.ini在哪里这么用locate

locate php.ini

一起回来
/private/etc/php.ini.default
/usr/local/etc/php/5.4/php.ini

我已经尝试编辑/usr/local/etc/php/5.4/php.ini 然后在服务器中重新启动这不起作用。

我记得有一个更好的方法可以找到我正在寻找的这个文件,或者至少是 php 在哪里寻找 php.ini。

<?php phpinfo() ?>

回来说它需要 /etc/php.ini 但我那里没有。以下来自 phpinfo():

Configuration File (php.ini) Path: /etc

原来上面locate命令的第一个结果就是我要找的。​​p>

至少在 OS X 10.9.4 Mavericks 中(OS X 对我来说是新事物)/etc 实际上是一个链接等 -> 私有/etc,并且看起来 PHP 假定默认值,除非 php.ini 是实际存在。

我复制了 /private/etc/php.ini.default

cp /private/etc/php.ini.default /private/etc/php.ini

然后按照上面的 Aditya Bhatt 建议检查新的 /etc/php.ini 中的变量,它起作用了。 就我而言,这些值是:

memory_limit =128M
post_max_size = 64M
upload_max_filesize = 64M

显然,必须重新启动 apache 服务才能看到更改。

【讨论】:

【参考方案22】:

这就是我的做法:

    定位于/etc/php5/apache2/php.ini

    post_max_size = 8M
    upload_max_filesize = 2M
    

    编辑为

    post_max_size = 48M
    upload_max_filesize = 42M
    

(这就够了)

重启apache:

sudo /etc/init.d/apache2 restart

【讨论】:

【参考方案23】:

我遇到了同样的问题。 我的解决方案: 转到 /etc/phpmyadmin 并编辑 apache.conf 在&lt;Directory&gt;[...]&lt;/Directory&gt; 部分,您可以添加

php_value upload_max_filesize 10M
php_value post_max_size 10M

帮我解决了问题!

【讨论】:

我在 Unbuntu 14.04 上遇到了同样的问题。非常感谢。【参考方案24】:

如何在Xampp中导入大量数据

这是在 phpMyAdmin 中打开新的、干净的数据库并导入文件的最佳解决方案。从本地文件夹中选择文件并保持所有设置不变。应该是这样的。

但是如果您的文件超过了 2MB 的文件大小(这是 xampp 安装中的默认值),那么您需要调整一些。基本上我们只会增加最大上传文件大小。

打开您的 xampp 安装文件夹并转到 php 文件夹。使用一些文本编辑器文件(notepad++)打开名为 php.ini 的文件(通过类型 windows 将其描述为配置设置)并编辑该行(cca. 770,或在 notepad++ 中按 ctrl+f 找到它):

post_max_size = 2M

而不是 2M,放入想要的最大文件大小(例如 16MB 但不高于 128M),

之后转到这一行: max_execution_time = 30 而不是 30,增加以秒为单位的执行时间(例如 90),您还需要更改此行:

max_input_time = 60

而不是 60,以秒为单位增加输入时间(例如 120) 最重要的是你必须改变这一行:

upload_max_filesize = 2M

而不是 2M,例如增加到 16M。 保存文件,在xampp中重新启动apache和mysql,然后再次尝试上传,如果你按照正确的操作应该可以导入16MB以内的文件(示例)

【讨论】:

【参考方案25】:

C:\xampp\php\php.ini 在我的例子中 或者如果 Apache / PHP / MySQL 是独立的,它可能是 C:\php\php.ini

upload_max_filesize = 2M 默认

因此可以根据需要进行更改。就我而言 upload_max_filesize = 20M

post_max_size = 8M 默认 也应该改为post_max_size = 20M

memory_limit=128M是默认的,不需要改增加max 2056kb 或 2mb .sql 文件上传限制。但这仅意味着当您运行 apache 和 sql server 时,一个脚本最多可以消耗 128 个内存,如果您将 memory_limit=128M 更改为更高并运行任何故障脚本,则可能会给您带来麻烦。所以这取决于你。

【讨论】:

【参考方案26】:

我发现在 php.ini 中增加上传和发布限制并没有影响 phpmyadmin 中的限制。这是因为我的服务器有单独的 cpanel 上传限制设置。如果您有权访问 WHM,那么您可能拥有此权限。

调整:

登录到您的 WHM 面板:这通常位于 您的服务器 ip/whm,您需要在此处获取您的根登录详细信息。如果您没有这些,请向您的房东索取。 登录后,在左上角的搜索栏中搜索“tweak settings” 在调整设置页面上,搜索“cPanel PHP 最大上传大小” 调整数字并保存

无需重新启动 apache 或任何东西,更改是即时的。这个过程增加了 phpmyadmin 中最大上传文件大小的值。您可以通过转到 phpmyadmin 并选择您的数据库,然后单击顶部的“导入”来检查这一点。在文件选择器旁边,您将看到上传限制。我的服务器默认值为 100。

【讨论】:

【参考方案27】:

增加 phpMyAdmin 上传/导入大小

默认情况下,您在 phpmyadmin 中获得 2mb 的上传/导入大小限制。这使得导入更大的文件变得奇怪且极不可能。您可以通过编辑服务器的 php.ini 配置文件来增加 phpmyadmin 允许的上传大小。通常在像 CentOs 这样的服务器中,它位于 /etc/php.ini。

第 1 步:转到 php.ini 并找到以下内容并将它们的值更改为高于数据库大小的值。 (在这个例子中,我使用了 20mb)。

upload_max_filesize = 20M

post_max_size = 20M

第2 步:重新启动您的apache 服务以使新更改生效。通常重启 apache 的命令是

service httpd restart (CentOs) / service apache2 restart (ubuntu)

你也可以直接从他们的路径重启

/etc/init.d/apache2 restart or /etc/init.d/httpd restart

如果您在共享主机中并且没有 root 访问权限或无法访问您的 php.ini 配置文件,那么另一种方法是在您的应用程序根目录中创建一个 .htaccess 文件并添加以下行

php_value upload_max_filesize 10M
php_value post_max_size 10M

如果您仍然无法增加它,请给我发送电子邮件以获得更详细的帮助。

【讨论】:

同样的问题,post_max_size 限制了我的设置,谢谢! @Abu Fahim:应用.htaccess 更改,不适用于共享主机。还有其他选择吗?【参考方案28】:

我发现了问题,如果有人关注一些博客帖子来创建我所拥有的那种环境(在虚拟机上使用 ubuntu 和 zend 服务器 ce 赢得 7 主机),我会发帖。

问题是 MySQL 在 Lighttpd 上运行,而不是在 Apache 下。所以我不得不更改该网络服务器下的 php.ini 文件,该文件位于路径中:

/usr/local/zend/gui/lighttpd/etc/php-fcgi.ini

最后,当然,您对文件的看法是对的,但我对必须更改的文件有误 :)

【讨论】:

呃,这太恶心了。很高兴我只安装了 Lighty,仅此而已。这样我就不能混淆任何东西^^【参考方案29】:

您可能没有重新启动服务器;)

或者你修改错了php.ini

或者你实际上都做到了^^

【讨论】:

呵呵 - 我检查了正在使用的 php.ini 并重新启动了服务器。我通过 Zend Server 更改了设置 - 再次检查了 phpinfo,并且更改存在 - 但对 phpMyAdmin 表单没有影响 - 当尝试使用 SQL 文件导入数据/结构时,我仍然受到 2MB 的限制。跨度> 我遇到了同样的问题,我在Windows下使用XAMPP,php信息显示upload_max_filesize=128M,但在phpMyAdmin中仍然显示8,192KB,怎么回事¬¬ 我刚刚将 'post-max-size' 和 'upload_max_filesize' 更新为 128MB,重启 apache 后,phpmyadmin 将接受 128MB 的文件。 (在 win xp 中使用 wamp)。 也有网友说post_max_size和memory_limit要大于upload_max_filesize。 这不是答案。这应该写成评论。

以上是关于PHPMyAdmin 中的导入文件大小限制的主要内容,如果未能解决你的问题,请参考以下文章

修改phpmyadmin 导入数据库大小限制

如何在 phpMyAdmin 中增加导入大小限制

如何在 phpmyadmin 中导入表?我收到文件大小错误

为啥 phpMyAdmin 文件大小限制没有改变?

使用phpMyAdmin 怎么导入数据库

编辑我的 php.ini,但 phpmyadmin 仍然不会增加文件大小上传