当php写接口时需要在返回数据后继续执行代码但是不影响程序的正常运行。
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);
ignore_user_abort(true);// 忽略客户端断开
set_time_limit(0);
}
控制器调用此方法即可
public function index(){
$url='你需要访问的路径。http://www.xxxx.com/index/index';
doRequest($url);}
原文链接:https://www.jb51.net/article/76909.htm