413 请求实体太大,使用 CodeIgniter:phpinfo() 指示正确的最大大小

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

在 CodeIgniter 中使用上传功能时,如果我尝试上传大于 20M 的 pdf 文件,我会收到“404 文件未找到”或 413 请求实体太大。我可以看到它是 "Uploading 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 的新手。

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

如果您正在使用 nginx,您可以使用 client_max_body_size 指令

增加允许的最大 post 大小
server {
    ...
    client_max_body_size 128m
    ...
}

如果您使用的是 Apache,则可以在其配置文件 (httpd.conf) 中检查几个选项。

LimitRequestBody 131072000

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

SecRequestBodyLimit 131072000

别忘了重启服务器。