php实现异步数据调用的方法
《PHP实例:php实现异步数据调用的方法》要点: 浏览器和服务器之间只有一种面向无连接的HTTP协议进行通讯的,面向无连接的程序的特点是客户端哀求服务端,服务端根据哀求返回相应的程序,不能保持持久连接.这样就出现了一个问题,一个客户端的相应服务端可能执行1秒也有可能执行1分钟,这样浏览器就会一直处于等待状态,如果程序执行缓慢,用户可能就没耐心关掉了浏览器. <?php $count = count($emailarr); for($i =0; $i < $count; $i++) { sendmail();//发送邮件 } ?> 这段代码用户体验极差,也无法实际运用,首先发送这么多邮件会产生服务器运行超时,其实漫长的用户等待时间会让用户对系统产品怀疑和失去信心.但是用户不需要等待到1000封邮件都发送完毕了才提交发送成功,我们完全可以提交后台后直接给用户提示发送成功,然后让后台程序静默依次发送.
PHP异步执行的常用方式 $ch = curl_init(); $curl_opt = array(CURLOPT_URL,'http://www.example.com/backend.php',CURLOPT_RETURNTRANSFER,1,CURLOPT_TIMEOUT,); curl_setopt_array($ch,$curl_opt); curl_exec($ch); curl_close($ch); 使用CURL需要设置CUROPT_TIMEOUT为1(最小为1,郁闷).也就是说,客户端至少必须等待1秒钟. $fp = fsockopen(www.aspzz.cn,80,$errno,$errstr,30); if (!$fp) { echo "$errstr ($errno)<br />n"; } else { $out = "GET /backend.php / HTTP/1.1rn"; $out .= "Host: www.aspzz.cnrn"; $out .= "Connection: Closernrn"; fwrite($fp,$out); /*忽略执行结果 while (!feof($fp)) { echo fgets($fp,128); }*/ fclose($fp); } 以上就是为大家分享的4种PHP异步执行的常用方式,希望对大家的学习有所赞助.PHP编程 编程之家培训学院每天发布《PHP实例:php实现异步数据调用的方法》等实战技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培养人才。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |