关于禅道上传文件大小的问题

今天在使用禅道上传文件的时候发现了一个问题,我可以上传几十k的文件,但是上传不了大几M的文件,当文件过大的时候,一直卡在哪里,上传不了(使用的是开源版9.8.1)。

在官方文档中可以看到需要调整php.ini 中的 post_max_size 和 upload_max_filesize值,然后重启apache即可生效:

#cd /opt/zbox/etc/php
#vim php.ini
...........
register_argc_argv = Off
auto_globals_jit = On
post_max_size = 50M
magic_quotes_gpc = Off
magic_quotes_runtime = Off
magic_quotes_sybase = Off
............
file_uploads = On
upload_tmp_dir = "/opt/zbox/tmp/"
upload_max_filesize = 50M
allow_url_fopen = On
allow_url_include = Off
default_socket_timeout = 60
............

进去之后看到我的是50M,说明不是空间的问题,接着从百度看到需要修改my.php中的$config->debug 参数,将false修改为true:

#cd /opt/zbox/app/zentao/config
#vim my.php
<?php
$config->installed       = true;
$config->debug           = true;
$config->requestType     = ‘PATH_INFO‘;
$config->db->host        = ‘127.0.0.1‘;
$config->db->port        = ‘3307‘;
$config->db->name        = ‘zentao‘;
$config->db->user        = ‘root‘;
$config->db->password    = ‘123456‘;
$config->db->prefix      = ‘zt_‘;
$config->webRoot         = getWebRoot();
$config->default->lang   = ‘zh-cn‘;

重启之后再次提交,发现还是上传不了大文件,无奈,查看禅道的日志,发现里面有下面这样的报错:

16:02:30 ERROR: SQLSTATE[HY000] [1045] Access denied for user ‘root‘@‘localhost‘ (using password: YES) in /opt/zbox/app/zentaobiz/framework/base/router.class.php on line 2145, last called by /opt/zbox/app/zentaobiz/framework/base/router.class.php on line 2103 through function connectByPDO.
 in /opt/zbox/app/zentaobiz/framework/base/router.class.php on line 2196 when visiting 

看日志似乎是权限的问题,这时候我就在想如果权限不对,为什么小文件就可以上传,而大文件不行,显然不对,接着在排查,突然想到是不是又是nginx代理的问题,又动手查看nginx的配置文件,在配置禅道代理的地方加入一行client_max_body_size 1024M;

#vim nginx.confworker_processes  1;
        events {
                worker_connections  1024;
        }
        http {
              include       mime.types;
              default_type  application/octet-stream;
              sendfile        on;
              keepalive_timeout  65;
server
  {
    listen 80;
    server_name zbox.gong-hui.com;
    location / {
        client_max_body_size 1024M;
        proxy_redirect off;
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://192.168.3.175:81;
               }
  }

接着重启nginx,然后进入禅道上传大文件,哇,成功上传!

原文地址:https://www.cnblogs.com/heyongboke/p/8946988.html

时间: 2024-11-12 13:10:15

关于禅道上传文件大小的问题的相关文章

禅道上传文档问题

问题: 上传文档几百Kb没问题,上传2M一直显示请稍后 修改nginx配置文件,在server内添加 client_max_body_size    1000m; 设置限制上传为1g nginx -s reload 然后就可以了

PHP上传文件大小限制的问题

在用PHP进行文件上传的操作中,需要知道怎么控制上传文件大小的设置,而文件可传大小是受到多种因素制约的,现总结如下: 1.php.ini:upload_max_filesize 所上传的文件的最大大小.默认值2M. 2.php.ini:memory_limit 本指令设定了一个脚本所能够申请到的最大内存字节数,默认值8M.如果不需要任何内存上的限制,必须将其设为 -1.如果内存不够,则可能出现错误:Fatal error: Allowed memory size of X bytes exhau

php 修改上传文件大小 (max_execution_time post_max_size)

有些朋友要通过自己的网站后台,包括论坛,来上传一些文件,php一般为2m,或8m(以下我们按默认为2m),接下来就是来讲怎么修改上传文件大小的. 1.首先修改执行上传文件限制 一般的文件上传,除非文件很小.就像一个5M的文件,很可能要超过一分钟才能上传完.但在php中,默认的该页最久执行时间为 30 秒.就是说超过30秒,该脚本就停止执行.这就导致出现 无法打开网页的情况.这时我们可以修改 max_execution_time 在php.ini里查找max_execution_time默认是30

js判断上传文件大小

<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="content-typ

解决ASP.NET上传文件大小限制

第一种方法,主要适用于IIS6.0版本 一.修改配置Web.Config文件中的httpRuntime节点对于asp.net,默认只允许上传4M文件,增加如下配置,一般可以自定义最大文件大小.一.修改配置Web.Config文件中的httpRuntime节点对于asp.net,默认只允许上传4M文件,增加如下配置,一般可以自定义最大文件大小. <httpRuntime executionTimeout="800" maxRequestLength="40960"

修改apache上传文件大小限制

PHP上传文件大小限制解决方法: 第一: 在php.ini里面查看如下行: upload_max_filesize = 8M    post_max_size = 10M    memory_limit = 20M 把这些值改成我所说的,看看有没有问题,另外要确认上传的 <form> 里没有类似下面的这行 <input type="hidden" name="MAX_FILE_SIZE" value="500000"> 这

兼容各浏览器的js判断上传文件大小

由于项目需要,在网上找了一个JS判断上传文件大小的程序,经测试兼容IE6-9,Firefox10,Opera11.6,safari5.1,chrome17 <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>js判断上传文件的大小</titl

php.ini修改php上传文件大小限制的方法详解

打开php.ini,首先找到file_uploads = on ;是否允许通过HTTP上传文件的开关.默认为ON即是开upload_tmp_dir ;文件上传至服务器上存储临时文件的地方,如果没指定就会用系统默认的临时文件夹upload_max_filesize = 8m ;望文生意,即允许上传文件大小的最大值.默认为2Mpost_max_size = 8m ;指通过表单POST给PHP的所能接收的最大值,包括表单里的所有值.默认为8M一般地,设置好上述四个参数后,上传<=8M的文件是不成问题,

php 上传文件大小控制配置文件中设置的

Windows 环境下的修改方法 ================================================================第一步:修改在php5下POST文件大小的限制 1.编修php.ini 找到:max_execution_time = 30 ,这个是每个脚本运行的最长时间,单位秒,修改为:max_execution_time = 150 找到:max_input_time = 60,这是每个脚本可以消耗的时间,单位也是秒,修改为:max_input_