2016-10-13 22 views
1

当在CodeIgniter中使用上传功能时,如果我尝试上传大于20M的pdf文件,我会得到一个“404文件未找到“或413请求实体太大。我可以看到它是“上传nn%”,高达97%或98%,然后退出并给我一个错误。如果我赞同的phpinfo(),我可以看到以下内容:413请求实体太大,使用CodeIgniter:phpinfo()指示适当的最大尺寸

upload_max_filesize = 64M 
post_max_size = 256M 

另外,如果我使用文件管理器上的cPanel,我能够上传较大的文件没有问题。

我放在.htaccess中(这是建议的另一个问题),但它并没有帮助:

<IfModule mod_php5.c> 
    php_value upload_max_filesize 128M 
    php_value post_max_size 128M 
    php_value max_input_time 3600 
    php_value max_execution_time 3600 
</IfModule> 
<IfModule mod_php4.c> 
    php_value upload_max_filesize 128M 
    php_value post_max_size 128M 
    php_value max_input_time 3600 
    php_value max_execution_time 3600 
</IfModule> 

我是相当新的PHP。

+0

查看php.ini中的'memory_limit'。它应该大于'post_max_size'。如果您有权访问php.ini,则使用.htaccess没有意义。当您无法访问php.ini时,该方法非常有用。 – DFriend

+0

memory_limit是512M –

回答

1

看起来错误不是来自PHP,而是来自Web服务器。

如果您使用nginx,您可以了允许的最大尺寸后与client_max_body_size指令

server { 
    ... 
    client_max_body_size 128m 
    ... 
} 

如果你使用Apache,那么有几个选项在其配置文件检查(httpd.conf文件)。

LimitRequestBody 131072000 

如果mod_security的模块在Apache的,因为它更新限制,以及使用:

SecRequestBodyLimit 131072000 

不要忘了重新启动服务器。

+0

我需要将此信息传递给我的主管,以便他可以更新该信息。希望他今天能够做到这一点,但我会在下周休假,所以我可能无法在下一周给你结果。谢谢! –

+0

我的主管还没有尝试过这一点,但我想确保你知道我**能够通过cPanel上的文件管理器上传大文件,这会让我相信这不是问题与服务器。你怎么看? –

+0

这纠正了Apache上的问题。谢谢@Vaviloff –