怎么实现在返回客户端后,PHP依然继续运行
若以下回答无法解决问题,邀请你更新回答
展开全部
php 异步
stream_set_blocking($fp, 1);// 1为非阻塞
给你个函数吧
function async(){
$post = "test=test";//async.php 页面获取的数据,$_POST获取
$path = '/web/async.php';//执行异步处理的php文件
$host = 'www.yourdomain.com';//域名,或者ip
$timeout=30;
$port = isset($_SERVER['SERVER_PORT']) ? $_SERVER['SERVER_PORT'] : 80;
$header="POST $path HTTP/1.0\r\n";
$header.="Accept: */*\r\n";
$header.="Accept-Language: zh-cn\r\n";
$header.="Content-Type: application/x-www-form-urlencoded\r\n";
$header.="User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)\r\n";
$header.="Host: $host\r\n";
$header.='Content-Length: '.strlen($post)."\r\n";
$header.="Connection: Close\r\n";
$header.="Cache-Control: no-cache\r\n\r\n";
$header.=$post;
if(function_exists('fsockopen')) {
$fp = @fsockopen($host, $port, $errno, $errstr, $timeout);
} elseif (function_exists('pfsockopen')) {
$fp = @pfsockopen($host, $port, $errno, $errstr, $timeout);
} else {
$fp = false;
}
if(!$fp) {
return '';
} else {
stream_set_blocking($fp, 1);// 1 为非阻塞
stream_set_timeheader($fp, $timeout);
@fwrite($fp, $header);
$status = stream_get_meta_data($fp);
if(!$status['timed_header']) {
return 1;
}
@fclose($fp);
return '';
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
请举个栗子
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询