异步文件 async.php:
<?php
$url = 'http://test.study.com/1.php';
$param = array(
'name'=>'fdipzone',
'gender'=>'male',
'age'=>30
);
ignore_user_abort(true); // 忽略客户端断开
set_time_limit(0); // 设置执行不超时
doRequest($url, $param);
function doRequest($url, $param=array()){
$urlinfo = parse_url($url);
$host = $urlinfo['host'];
$path = $urlinfo['path'];
$query = isset($param)? http_build_query($param) : '';
$port = 80;
$errno = 0;
$errstr = '';
$timeout = 10;
$fp = fsockopen($host, $port, $errno, $errstr, $timeout);
$out = "POST ".$path." HTTP/1.1\r\n";
$out .= "host:".$host."\r\n";
$out .= "content-length:".strlen($query)."\r\n";
$out .= "content-type:application/x-www-form-urlencoded\r\n";
$out .= "connection:close\r\n\r\n";
$out .= $query;
fputs($fp, $out);
fclose($fp);
}
?>
http://test.study.com 下的1.php文件:
<?php
echo '程序开始';
sleep(10);
echo '程序结束';
file_put_contents('./1.txt', '123123');
执行异步文件: php async.php