• HTTP 413报错


    在php中通过flash上传文件到服务器端时报413错误,原来一直以为是php.ini配置的问题,但是检查了php.ini的配置以后,发现不是php.ini的问题,最后是通过Http Analyzer监控然后发现问题的,在此真的感谢很Http Analyzer


    然后在百度中输入关键字“413 Request Entity Too Large”,发现有一个搜索结果是与Nginx有关的,正好我们服务器的环境也是Nginx,按照此文章中的说明对Nginx的配置做了修改,执行/etc/init.d/nginx reload,然后重新进行上传,不报413错误了,郁闷的问题终于解决了。

    以下我是修改配置的情况,就是在location上面添加了一行client_max_body_size 10m;
    music1:/data/opt/nginx/conf/vhosts# more ge.mp3cn.net
    server
    {
            listen       80;
            server_name ge.mp3cn.net;
            index index.php;
            root  /data/www/music/;
            access_log off;

            client_max_body_size 10m;
            location ~* ^.+.(htm|html|js|css|gif|png|jpg|xml)$
            {
                    expires 6h;
                    valid_referers none blocked *.mp3cn.net mp3cn.net *.1616.net 1616.net *.1616dh.com 1616dh.com jj.com;
                    if ($invalid_referer) {
                            return 403;
                    }
            }

            location ~ .*.php?$
            {
                    include fcgi.conf;
                    fastcgi_pass  127.0.0.1:9000;
            }

    }

    php.ini中的有关选项也需要作相应的调整


        ;Maximum size of POST data that PHP will accept.
        post_max_size = 10M
         
        ; Maximum allowed size for uploaded files.
        upload_max_filesize = 10M
         
        max_execution_time = 1800     ; Maximum execution time of each script, in seconds
        max_input_time = 1800    ; Maximum amount of time each script may spend parsing request data
        memory_limit = 128M      ; Maximum amount of memory a script may consume (128MB)

    max_execution_time(max_execution_time "30" PHP_INI_ALL)可以用set_time_limit来进行设置,如用set_time_limit(0)表示不超时。
    memory_limit也可以在php程序中进行设置(memory_limit "128M" PHP_INI_ALL)
    max_input_time不能在php程序中进行设置(max_input_time "-1" PHP_INI_PERDIR)
    php.ini修改完成以后重启php-fpm,/etc/init.d/php-fpm restart

  • 相关阅读:
    C#多线程参数传递
    Delphi单元测试工具Dunit介绍
    使用javascript生成文件
    Windows自动登录源码
    [Win32]一个调试器的实现
    用MASM写一个简单的实现递归操作的汇编程序,所谓递归,上课已经跟大家说清楚了,如果我们只考虑简单的只分一次的递
    C#多线程编程(4)多线程与UI操作
    在Delphi中实现类型安全的容器,Delphi泛型库DGL引介(提供源码下载) .
    delphi 中几种多线程操作方式
    C#实现WEB服务器
  • 原文地址:https://www.cnblogs.com/myphper/p/3808710.html
Copyright © 2020-2023  润新知