$ _SERVER [“CONTENT_LENGTH”]未设置

时间:2013-01-17 15:41:20

标签: apache php

是否有任何php.ini设置可能导致isset($_SERVER["CONTENT_LENGTH"])永远不会在一台服务器上设置,但在另一台服务器上正常工作,其中应用程序代码相同且php.ini上传设置相同?在我正在使用的上传器库中,由于此问题,内容长度检查始终失败。在PHP5.3,CentOS和Apache上。谢谢你的帮助

编辑:我应该在请求标头中添加内容,内容长度:33586 - 但是在尝试处理$_SERVER["CONTENT_LENGTH"]时,它没有设置。

1 个答案:

答案 0 :(得分:2)

Content-Length由服务器应用程序发送,它不是HTTP请求的一部分。

您的应用程序将设置该应用程序,但是您不应该在PHP中执行此操作,因为PHP会自动执行此操作。


如果您正在处理来自上传等内容的输入,那么只有 HTTP请求不是CHUNKED时才会获得Content-Length 。发送分块请求时,在发送完所有块之前,收件人不知道数据长度。