【发布时间】:2014-06-25 04:46:30
【问题描述】:
首先,我在创建这个主题之前阅读了 stackoverflow 中关于 connection_aborted 的许多主题,但我没有找到我想要的解决方案。
我希望以下脚本在服务器和客户端之间的连接终止时正确结束。有时有效,有时无效。我不知道为什么。
示例代码如下:
<?php
ignore_user_abort( true );
register_shutdown_function( 'shutdown' );
$url = "http://127.0.0.1:8000";
$file_handler = @fopen( $url, "rb" ) or die("Open failed");
foreach ( $http_response_header as $h )
{
header( $h );
}
$bytes = 0;
while ( ! feof( $file_handler ) and ! connection_aborted() )
{
$response = stream_get_line( $file_handler, 4096 );
$bytes += strlen( $response );
echo $response;
}
fclose( $file_handler );
function shutdown()
{
global $file_handler;
if ( ! is_null( $file_handler ) )
{
fclose( $file_handler );
//do some other code
}
posix_kill( getmypid(), 9 );
}
?>
我需要做什么才能使其更准确?
谢谢
【问题讨论】:
标签: php connection client