为什么PHP在413错误后继续运行?

时间:2013-08-23 08:55:45

标签: php apache

我正在测试我的网站,以查看在各种情况下生成的各种错误页面。在其中一个场景中,我测试了上传超过LimitRequestBody中允许的总大小的图像文件。果然,413 HTTP error会产生以下消息:

  

请求实体太大

     

请求的资源
/上传
不允许请求数据   POST请求或请求中提供的数据量   超出容量限制。

但是,我很惊讶上传表单仍在错误消息下方生成。我期待Apache阻止PHP处理脚本。这是正确的行为吗?此外,在服务器访问日志中,我看到200 OK状态代码而不是413错误。为什么会这样?

我理解将php.ini中的post_max_size设置为相同的值可能会触发PHP错误并阻止它处理,但是我错误地期望Apache将此信息传递给PHP?

1 个答案:

答案 0 :(得分:0)

当Apache服务器抛出500内部服务器错误时脚本停止。但是,在大多数情况下,脚本会继续运行(当然这取决于你如何编写它,你可以将这个413场景捕获到一个代码块中,并且不允许脚本在服务器捕获此错误后执行)