繁体   English   中英

当我想要CodeIgniter错误时出现PHP错误

[英]Getting a PHP error when I want a CodeIgniter error

尝试上传太大的文件时出现以下PHP错误:

POST Content-Length of 1034425027 bytes exceeds the limit of 33554432 bytes in Unknown

但是我在控制器中设置了以下内容:

$config['max_size'] = '10000';

我看到的所有解决方案都涉及增加post_max_size等…,但我不想允许上传较大的文件-我想要一个错误,只是CI,而不是PHP,我无能为力。

有任何想法吗? 这仅仅是PHP中的缺陷吗? 我宁愿不将ajax中的“ false”返回作为文件上传错误处理,因为从技术上讲,这可能是由任何服务器错误引起的。

编辑; 需要澄清的是,当我收到对任何内容都不会有所了解的代码的请求时(我只能假设问题被误解了):

如果文件在10mb(CI设置的限制)和32mb(post_max_size设置的限制)之间,则一切正常-没有代码问题。 但是,如果文件大小超过32mb,PHP会在CI可以解析文件并为我提供适当的错误之前捕获该文件,因此除非我将post_max_size无限增大,否则我没有机会正确地标记大文件-这看起来既危险又有缺陷。 我想知道是否有解决办法。 理想情况下,直到CI验证之后,我才不需要服务器参与,因为我宁愿标记一个用户友好错误而不是POST死掉。

最好的选择是尝试上传之前,使用js [1]检查文件大小。 缺少这一点,唯一的选择是增加帖子大小或创建您自己的错误处理程序[2]。

[1] https://stackoverflow.com/a/7497439/183254

[2] http://www.php.net/manual/en/function.set-error-handler.php / https://stackoverflow.com/a/11745361/183254

首先在php.ini中增加大小,即upload_max_size。 默认情况下,PHP设置将被php代码读取,然后被codeigniter设置读取。 因此,增加.ini文件的大小。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM