分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 前端开发

PHP异步请求

发布时间:2023-09-06 01:55责任编辑:蔡小小关键词:PHP异步请求

  正常情况下,PHP都是同步请求,脚本右上而下依次执行,必须等上一步请求好了,才能进行下一步操作,这种效率在某些时候是不必要的,如发送邮件等操作,是可以异步处理的。

  PHP异步也很不少插件,我们使用的是原生的PHP函数,fsockopen(),改函数http请求和socket都可以。

  这个函数官网手册已经给出了示例,我贴出我优化后的代码,使用的是http。

  

public function dealdata(Request $request) ???{ ???????$url = ‘http://test.com/demo/index/temp‘; ???????$param = [ ???????????‘param1‘=>‘name‘, ???????????‘param2‘=>‘value‘ ???????]; ???????$this->syncRequest($url, $param); ???} ???public function syncRequest($url, $param=array(),$timeout =10) ???{ ???????$urlParmas = parse_url($url); ???????$host = $urlParmas[‘host‘]; ???????$path = $urlParmas[‘path‘]; ???????$port = isset($urlParmas[‘port‘])? $urlParmas[‘port‘] :80; ???????$errno = 0; ???????$errstr = ‘‘; ???????$fp = fsockopen($host, $port, $errno, $errstr, $timeout);// ???????stream_set_blocking($fp,0); ???????$query = isset($param)? http_build_query($param) : ‘‘; ???????$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); ???}

PHP异步请求

原文地址:https://www.cnblogs.com/IT--Loding/p/9063568.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved