文件大小超出了 phpmyadmin 允许的最大大小

文件大小超出了 phpmyadmin 允许的最大大小

将文件上传到 phpmyadmin 时出现以下错误:

未收到要导入的数据。未提交任何文件名,或者文件大小超出了 PHP 配置允许的最大大小。请参阅

在此处输入图片描述

我正在使用它nginx作为网络服务器。

我在 nginx 配置文件中添加了以下配置:

在 /etc/nginx/nginx.conf 中

http {

  #default configs
  sendfile on;
  tcp_nopush on;
  tcp_nodelay on;
  keepalive_timeout 65;
  types_hash_max_size 2048;
  #default configs


  #i have added following
  client_max_body_size 100M;
}

这是我的站点配置文件

server {

  listen 80;
  listen [::]:80;
  
  index index.html index.php;

  server_name phpmy.xyz.com;

  root /usr/share/phpmyadmin;

  # i have added following
  client_max_body_size 500M;
  
  location / {
    try_files $uri $uri/ =404;
  }

  location ~ \.php$ {
    include snippets/fastcgi-php.conf;

    fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
  }

  location ~ /\.ht {
    deny all;
  }

}

这是我的 php ini 配置/etc/php/7.4/cli/php.ini

max_execution_time = 3000
max_input_time = 600
max_input_vars = 100000
memory_limit = 100M


file_uploads = On
upload_max_filesize = 200M
max_file_uploads = 20

post_max_size = 200M

PHP 版本:7.4.3

有人知道我错过了什么吗?

答案1

PHP 也有一个post_max_size可以upload_max_filesize根据文档。将此值设置为略高于您的上传值,以覆盖该 POST 请求中的其他字段。

post_max_size int

设置允许的最大发布数据大小。此设置还会影响文件上传。要上传大文件,此值必须大于 upload_max_filesize。一般而言,memory_limit 应大于 post_max_size。使用 int 时,值以字节为单位。也可以使用本 FAQ 中所述的简写符号。如果发布数据的大小大于 post_max_size,则 $_POST 和 $_FILES 超全局变量为空。可以通过多种方式跟踪此情况,例如,通过将 $_GET 变量传递给处理数据的脚本,即,然后检查是否设置了 $_GET['processed']。

相关内容