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】:
在您的服务器上找到名为: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
“了解更多详情”不再有效。转到“找不到页面”类型的页面,错误消息以希腊语显示。【参考方案2】:
您可能没有重新启动服务器;)
或者你修改错了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。 这不是答案。这应该写成评论。【参考方案3】:只需更改您的 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的摘录。 当我需要为各种设备导入大文件时,我正在使用这些更改。【参考方案4】:增加 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
更改,不适用于共享主机。还有其他选择吗?【参考方案5】:
检查所有 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 文件夹的文件列表。
【讨论】:
【参考方案6】:要通过 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 控制面板。
【讨论】:
【参考方案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】:打开这个文件
编辑这些参数:
memory_limit =128M
post_max_size = 64M
upload_max_filesize = 64M
【讨论】:
感谢您显示配置按钮,我已经好多年没有看到那里了 - 让它变得如此简单【参考方案9】:这就是我的做法:
定位于/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
【讨论】:
【参考方案10】:当前的答案都不适用于 WHM / cPanel 服务器。
增加 WHM 的限制:
-
导航到服务器配置 > 调整设置
选择 PHP 选项卡
更新“cPanel PHP 最大 POST 大小”和“cPanel PHP 最大上传大小”(POST 大小应该更大)
【讨论】:
【参考方案11】:我发现了问题,如果有人关注一些博客帖子来创建我所拥有的那种环境(在虚拟机上使用 ubuntu 和 zend 服务器 ce 赢得 7 主机),我会发帖。
问题是 mysql 在 Lighttpd 上运行,而不是在 Apache 下。所以我不得不更改该网络服务器下的 php.ini 文件,该文件位于路径中:
/usr/local/zend/gui/lighttpd/etc/php-fcgi.ini
最后,当然,您对文件的看法是对的,但我对必须更改的文件有误 :)
【讨论】:
呃,这太恶心了。很高兴我只安装了 Lighty,仅此而已。这样我就不能混淆任何东西^^【参考方案12】: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 更改为更高并运行任何故障脚本,则可能会给您带来麻烦。所以这取决于你。
【讨论】:
【参考方案13】:我遇到了同样的问题。
我的解决方案:
转到 /etc/phpmyadmin 并编辑 apache.conf
在<Directory>[...]</Directory>
部分,您可以添加
php_value upload_max_filesize 10M
php_value post_max_size 10M
帮我解决了问题!
【讨论】:
我在 Unbuntu 14.04 上遇到了同样的问题。非常感谢。【参考方案14】:我在 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 服务才能看到更改。
【讨论】:
【参考方案15】: 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 弹跳一堆假请求来关闭您的服务器。【参考方案16】:如何在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以内的文件(示例)
【讨论】:
【参考方案17】:Ubuntu 20.04
编辑:sudo nano /etc/php/7.4/apache2/php.ini
修改:post_max_size = 120M
和 upload_max_filesize = 120M
将 120 替换为您需要的值,例如22M等
【讨论】:
【参考方案18】:您可以只使用 MySQL 管理员应用程序或 MySQL 工作台。 轻量级应用程序,您可以导出或导入整个服务器,无论大小。 在这里聚会迟到了,但我希望它对某人有所帮助。
【讨论】:
【参考方案19】:我遇到了同样的问题,我的上传限制是 2 MB,我编辑了我的 php.ini,并将其设置为 5 MB,但即使在重新启动服务器后它仍然显示为 2 MB。比我将我的 .sql 文件压缩为 zip,方法是保持其名称为 xyz.sql.zip,因此它从 3.5 mb 变为 451 kb。然后我又上传了。它对我有用。
【讨论】:
【参考方案20】:我发现在 php.ini 中增加上传和发布限制并没有影响 phpmyadmin 中的限制。这是因为我的服务器有单独的 cpanel 上传限制设置。如果您有权访问 WHM,那么您可能拥有此权限。
调整:
登录到您的 WHM 面板:这通常位于 您的服务器 ip/whm 并且您需要在此处获取您的 root 登录详细信息。如果您没有这些,请向您的房东索取。 登录后,在左上角的搜索栏中搜索“tweak settings” 在调整设置页面上,搜索“cPanel PHP 最大上传大小” 调整数字并保存无需重新启动 apache 或任何东西,更改是即时的。这个过程增加了 phpmyadmin 中最大上传文件大小的值。您可以通过转到 phpmyadmin 并选择您的数据库,然后单击顶部的“导入”来检查这一点。在文件选择器旁边,您将看到上传限制。我的服务器默认值为 100。
【讨论】:
【参考方案21】:就我而言,我还必须在 /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)
【讨论】:
【参考方案22】:做以下事情
增加 php.ini 中的 upload_max_file_size gzip 你的 sql 文件然后导入文件
【讨论】:
【参考方案23】:我遇到了同样的问题,在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
注意:我确实在<IfModule>
标签中添加了上述代码。
如果php.ini
文件在改变大小方面没有做任何事情,那么请尝试其他 2 个文件,其中一个肯定会为您工作。
READ THIS ARTICLE TO KNOW ABOUT ALL FILES IN WHICH YOU CAN INCREASE MAX SIZE
【讨论】:
【参考方案24】:我想如果你的php版本高于5.5
,假设它是5.6
,那么你的php.ini
文件在下面的文件夹中
/etc/php/5.6/apache2
因此您必须在此处应用 post_max_size
、upload_max_filesize
和 memory_limit
等更改。
希望对你有所帮助。
【讨论】:
【参考方案25】:搜索php.ini
文件
对于xampp,你可以得到它@C:\xampp\php
找到以下3个属性并根据需要设置值
memory_limit
post_max_size
upload_max_filesize
重启 Apache!
【讨论】:
【参考方案26】:我在本地主机上使用 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 并查看,您的上传大小限制应该更新为您设置的任何值。就是这样。
【讨论】:
【参考方案27】:注意:(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>
在<IfModule mod_php7.c>
之后立即添加这些行:
php_value post_max_size 64M
php_value upload_max_filesize 64M
根据您的服务器配置,如果您愿意,您可以在 .htaccess 文件中实现相同的功能。在这种情况下,您可以自己添加这两行(假设您确定 PHP 已启用)。
如果您使用 fpm 或 fastcgi 或带有或不带有 Apache 的东西,则可以通过使用 .user.ini 文件来实现相同的更本地化的控制上传大小的方法。
【讨论】:
好建议,但对我没有用。 Apache 使用的是 PHP 5.6,标签是首先要检查(或要求您的主机提供商检查)是 php.ini 配置文件中 max_execution_time
、upload_max_filesize
、memory_limit
和 post_max_size
的值。所有这三个设置都限制了 PHP 可以提交和处理的最大数据大小。
请注意post_max_size
需要大于upload_max_filesize
。
【讨论】:
【参考方案29】:我已经尝试了以上所有方法,但没有任何效果:我的 phpmyadmin(在 wamp 上)仍然显示 128MiB(而我需要导入大小为 212Mb 的 DB)
所以如果你像我一样卡住,你可以在命令行的帮助下导入它:
-
从 .sql 文件所在的文件夹(或
cd
终端中的路径)运行 bash
(cmd
、powershell
或任何终端)
run mysql -u username -p database_name < file.sql
whereusername
- 是 mysql 服务器的用户名database_name
- 是您要导入的数据库的名称
file.sql
- 是您的 sql 文件的名称
??
在尝试通过 php.ini 和其他配置文件操作 2 小时后,对我来说就像是一种魅力??
【讨论】:
以上是关于PHPMyAdmin 中的导入文件大小限制的主要内容,如果未能解决你的问题,请参考以下文章