请求实体太大,使用CodeIgniter: phpinfo()指示适当的最大大小


413 Request Entity Too Large, using CodeIgniter: phpinfo() indicates proper max size

当使用CodeIgniter中的上传功能时,如果我尝试上传大于20M的pdf文件,我要么得到"404文件未找到"或413请求实体太大。我可以看到它是"上传nn%",高达97%或98%,然后它退出并给我一个错误。如果我回显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而是来自web服务器。

如果你使用nginx,你可以使用client_max_body_size指令提高最大允许的帖子大小

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

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

LimitRequestBody 131072000

如果在Apache中使用了mod_security模块,也要更新它的限制:

SecRequestBodyLimit 131072000

不要忘记重启服务器