可道云kodbox上传出错解决办法

上传出错,服务器限制或配置异常:

出错了! (warning!)

fseek(): Argument #1 ($stream) must be of type resource, bool given
系统错误

function/file.function.php[138] fseek()
function/file.function.php[138]

[Windows NT 10.0/8.2.4/mysqli/1.44.07]

主要是由于服务器限制了上传大小,或超时时间太短引起; 推荐如下配置:

1. 修改nginx的配置文件

  • client_max_body_size 50M;
  • client_header_timeout 3600s;
  • client_body_timeout 3600s;
  • fastcgi_connect_timeout 3600s;
  • fastcgi_send_timeout 3600s;
  • fastcgi_read_timeout 3600s;
  • # 其他webserver相应修改类似限制;如apache需要修改LimitRequestBody
  • # 修改完成重启nginx生效: service nginx reload

2. 修改php配置文件php.ini;

  • post_max_size = 500M;
  • upload_max_filesize = 500M;
  • memory_limit = 500M;
  • max_execution_time = 3600;
  • max_input_time = 3600;
  • # 对应 php-fpm.conf也需要修改
  • request_terminate_timeout 3600
  • 注意:
    • 如果某一类例如exe文件不能上传,其他文件可上传,
      一般是服务器(杀毒软件或防火墙)做了拦截误判,取消相应软件上拦截即可;
    • 超时时间设置; 如果经常有超大文件上传,php和nginx超时时间需要设置大一些;
    • 分片上传: 一个大文件切分成多个分片上传,所有片上传完成后服务器自动合并;一个分片上传失败只需要重传该分片即可;
    • 分片大小设置: 管理员登陆后台–基础设置–上传下载; 调整上传分片大小; 必须小于php.ini和nginx的限制;
    • 修改了php或nginx配置文件后,需要重启php-fpm和nginx;

你可能感兴趣的:(软件的使用,php)