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

为什么我仍然看到2MB?

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


当前回答

注:(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/其他平台上,你需要查看Apache配置的设置,但可能是conf-enabled conf.d sites-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文件来实现同样的更本地化的方法来控制上传大小。

其他回答

注:(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/其他平台上,你需要查看Apache配置的设置,但可能是conf-enabled conf.d sites-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文件来实现同样的更本地化的方法来控制上传大小。

做以下事情

增加php.ini中的upload_max_file_size Gzip你的SQL文件

然后导入文件

如何导入大量的数据在Xampp

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

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

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

post_max_size = 2M

改为2M,输入所需的最大文件大小(例如16MB,但不高于128M),

然后到这一行: Max_execution_time = 30 不是30,增加执行时间,以秒为单位(例如90),你还需要改变这一行:

max_input_time = 60

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

upload_max_filesize = 2M

例如,增加到16M而不是2M。 保存文件,在xampp中重新启动apache和mysql,并尝试再次上传,如果您正确操作,您应该能够通过16MB导入文件(示例)

增加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

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

php_value upload_max_filesize 10M
php_value post_max_size 10M

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

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

增加WHM的限制:

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