请求实体太大的PHP

在我的一个CakePHP网站,我得到了这个错误。

请求的实体太大

我不知道是什么问题。 我认为我通过表单发布的数据太大了。 我在search引擎search这个,得到,我将不得不增加post_max_size 。 默认情况下,我认为它设置为8M。

但是不知道如何在CakePHP中增加post_max_size以及该怎么做?

谢谢。

post_max_size和upload_max_filesize是PHP.ini设置。 您可以直接在PHP.ini或通过ini_set设置它们。 我不知道这是否可以用一些Cake的内部工具来设置。

但是,这个错误也可能是由Apache中RequestBodyLength的设置限制引起的(假设你在Apache下运行)。

我尝试了所有这些答案,唯一对我有用的是调整SSL缓冲区大小。 你可以设置这个…

 <Directory /my/blah/blah> ... # Set this to something big big... SSLRenegBufferSize 10486000 ... </Directory> 

…然后只需重新启动Apache即可生效。 (在http://forum.joomla.org/viewtopic.php?p=2085574找到&#xFF09;

“413请求实体太大”错误的另一个可能原因是mod安全性。 这是我的原因。

望着网站的Apache错误日志说:

ModSecurity:请求主体没有文件数据长度大于配置的限制(131072)..拒绝与代码(413)

在我的Ubuntu 14.04的配置文件是在这里,但这真的取决于系统:

/etc/modsecurity/modsecurity.conf

SecRequestBodyNoFilesLimit (也可能是SecRequestBodyInMemoryLimit )的默认值。

我想你需要在PHP配置文件php.ini中设置。 如果你有一个VPS /根级别的访问权限,那就加大一点。 如果你不(共享主机),你可以在运行时修改PHP的ini参数。 请注意,ini_set()在这里不起作用,因为PHP设置的加载太迟了(在文件上传之后,PHP脚本开始执行)。

您需要在您的htaccess文件(共享主机)中包含以下内容:

 php_value post_max_size 104857600 

这可能是行不通的。 一些搜索引擎使得看起来好像一些共享的主机会锁定这个设置,使得它不能在htaccess(仅在主服务器配置中)中超载。 如果是这样的话,你需要移动主机。

有时在共享主机上,您可以添加自己的php.ini文件 – 只需将任何默认文件(或谷歌为一)的相关位复制。

这并不是我之前见过的错误 – 也许正如Gordon所说,是Apache。

不要害怕问托管支持团队 – 我总是发现他们非常有帮助(我认为他们必须孤独),他们经常会为您做配置更改。

这肯定不是一个CakePHP问题。

绝对不是CakePHP的问题,但这里有两个设置你需要设置为了正确上传文件:

 vim /etc/php5/php.ini (or wherever the .ini is located) 

并设置:

 post_max_size="200M" upload_max_filesize="200M" 

如果您使用的是HTTPS,那么现在就是棘手的部分! 您还需要配置一个SSL。

 vim /etc/apache2/sites-available/<whatever>-443.conf 

并设置SSLRenegBufferSize

 <Directory /appdata/www/<whatever>/web> Options FollowSymLinks AllowOverride All Order allow,deny allow from all SSLRenegBufferSize 201048600 </Directory>