在Apache/PHP中关闭传入连接

在Apache/PHP中关闭传入连接,php,apache,connection,Php,Apache,Connection,我有一个通过PUT请求接收大文件上传的脚本。这些文件在上传时会进行一些动态处理。有时,我们可以检测到文件在前几个字节中无效,因此我们die()会显示一条错误消息。唯一的问题是客户端仍然发送剩余的数据,这是一个巨大的浪费。有没有办法关闭传入连接 代码: $fp=fopen('php://input","rb",; //在这里做一些数据检查 如果(){ fclose($fp); 死亡(“错误”); } stream\u socket\u shutdown看起来可以完成这项工作,但没有效果 有没有办

我有一个通过PUT请求接收大文件上传的脚本。这些文件在上传时会进行一些动态处理。有时,我们可以检测到文件在前几个字节中无效,因此我们
die()
会显示一条错误消息。唯一的问题是客户端仍然发送剩余的数据,这是一个巨大的浪费。有没有办法关闭传入连接

代码:

$fp=fopen('php://input","rb",;
//在这里做一些数据检查
如果(){
fclose($fp);
死亡(“错误”);
}
stream\u socket\u shutdown
看起来可以完成这项工作,但没有效果


有没有办法做到这一点?即使我必须为此编写一个扩展?

您也可以尝试一下下面的内容,看看这是否正确地终止了连接:

$fp = fopen('php://input', 'rb');

// Do some data checking here
if( <invalid> ) {
    fclose($fp);
    header("Content-Length: 0");
    header("Connection: close");
    flush();
    die('Error');
}
$fp=fopen('php://input","rb",;
//在这里做一些数据检查
如果(){
fclose($fp);
标题(“内容长度:0”);
标题(“连接:关闭”);
冲洗();
死亡(“错误”);
}

谢谢你的建议。我会尝试一下,然后再报告。
$fp = fopen('php://input', 'rb');

// Do some data checking here
if( <invalid> ) {
    fclose($fp);
    header("Content-Length: 0");
    header("Connection: close");
    flush();
    die('Error');
}