【问题标题】:Import file size limit in PHPMyAdminPHPMyAdmin 中的导入文件大小限制
【发布时间】: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。

标签: php mysql phpmyadmin


【解决方案1】:

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

修改:post_max_size = 120M 和 upload_max_filesize = 120M

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

【讨论】:

    【解决方案2】:

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

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

    1. 从 .sql 文件所在的文件夹(或 cd 终端中的路径)运行 bash(cmd、powershell 或任何终端)
    2. run mysql -u username -p database_name < file.sql where
      username - 是 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 所示。我设法增加了这个大小限制,如下所述:

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

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

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

      2. 重启 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_size、upload_max_filesize 和 memory_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_time、upload_max_filesize、memory_limit 和 post_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 没有影响,并尝试了许多解决方案,例如 -:

              1. 通过functions.php增加最大尺寸
              2. 通过.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 的限制:

                          1. 导航到服务器配置 > 调整设置
                          2. 选择 PHP 选项卡
                          3. 更新“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】:

                                这就是我的做法:

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

                                  post_max_size = 8M
                                  upload_max_filesize = 2M
                                  
                                2. 编辑为

                                  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。
                                        • 这不是答案。这应该写成评论。
                                        猜你喜欢
                                        • 2016-12-02
                                        • 2015-09-24
                                        • 2015-03-27
                                        • 1970-01-01
                                        • 2013-08-26
                                        • 2017-01-15
                                        相关资源
                                        最近更新 更多