当前位置:  编程技术>php

PHP服务器端异步执行方法解析

    来源: 互联网  发布时间:2014-10-09

    本文导语:  一个项目要需要当用一登录网站首页,就要得到用户以前的一些相关数据,由于这些数据很大所以要很常时间才能完全得到。 但是PHP是顺序执行的,只有当前面的就句执行完成了才会向下执行,如此,用户就要等很长的时间。 ...

一个项目要需要当用一登录网站首页,就要得到用户以前的一些相关数据,由于这些数据很大所以要很常时间才能完全得到。

但是PHP是顺序执行的,只有当前面的就句执行完成了才会向下执行,如此,用户就要等很长的时间。

于是便考虑要让PHP异步执行。由于是WAP网站开发所以不能用AJAX和IFRAME等技术,所以只能用户服务器端技术,首先写一个C程序让他启动一个进程,让这个子进程去执行一个PHP文件。而让主进程很快的返回。

本想这样就能骗过PHP的(exec ,system)函数,在页面上一试让我感到不解的是PHP还是在等待那个C程序的完全执行完,也就是说等待那个C程序的子进程也结束了。

后来试了下popen函数,结果真的不在等待了,它只等待主进程结束就所回一个流。
然后,在关闭这个流就可以了,而这时子进程还在执行。

查看PHP的源码才发现,在PHP中所有的exec,system,shell_exec等函数在系统C级都是用C语言的。

popen函数来执行传给他们的命令的。

它打开一个进程流,并在所以进程执行完成后。
在关闭这个进程流,所以那些函数会有一个等待和关流的过程所以会很慢。
而PHP的popen函数会执行C程序的POPEN函数,并返回一个进程流。所以它不会去等待。

以上就是有关php在服务器端异步执行的思路与具体实现过程,希望对大家有所帮助。


    
 
 

您可能感兴趣的文章:

  • PHP异步执行技巧分享
  • php 异步请求文件实现多线程的代码
  • PHP异步执行模拟多线程的方法
  • PHP异步调用socket小例子
  • php 伪异步执行实现方法
  • PHP 异步框架 phpdaemon
  • PHP异步调用socket与php异步执行实例
  • PHP多线程异步请求的3种实现方法
  • 实现PHP多线程异步请求的3种方法
  • PHP的异步并行C扩展 swoole-server
  • PHP异步执行常用方式举例
  • PHP异步调用实现方式详解
  • php 异步调用方法实现示例
  • php+js实现异步图片上传实例分享
  • PHP异步执行实例解析
  • php使用fscok实现异步调用
  • php+ajax图片文件异步上传示例代码
  • php通过pack和unpack函数实现对二进制数据封装及解析
  • Linux下重编译PHP后Apache竟然不能解析.php文件?
  • PHP的Markdown解析器 Parsedown
  • PHP的PDF解析库 PdfParser
  • PHP和Perl的XML解析包 MiniXML
  • PHP的XML和JSON数据解析和缓存包 coreylib
  • php trim函数执行过程解析
  • 好象我的apache服务器不解析我的php程序啊(why)
  • php解析json数据实例
  • PHP的HTML解析工具 HtmlParser
  • 一个不易被发现的PHP后门代码解析
  • PHP文件锁定写入实例解析
  • PHP json_decode函数详细解析
  • php替换换行符的问题解析
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 如何使用crontab来定时执行一个.php的程序
  • 执行PHP代码的虚拟机 HHVM
  • centos服务器定时执行一段php代码
  • PHP如何设置页面最大执行时间
  • 求高手给写一个bash脚本,功能很简单,就是去执行某一个php脚本
  • 计算php脚本执行时间的示例代码
  • 命令方式下执行php 可以用类吗?
  • win7计划任务定时执行PHP脚本设置图解
  • php计算当前程序执行时间
  • nginx禁止dedecms目录php执行权限
  • PHP代码执行效率评测 Ubench
  • PHP执行时间函数 ini_set与max_execution_time
  • php计算当前程序执行时间示例
  • php实现执行某一操作时弹出确认、取消对话框
  • nginx php-fpm中启用慢日志配置(用于检测执行较慢的PHP脚本)
  • php计算代码执行时间的二种方法
  • PHP执行Curl时报错提示CURL ERROR: Recv failure: Connection reset by peer的解决方法
  • php获取目标函数执行时间
  • php获取目标函数执行时间示例
  • linux实现php定时执行cron任务详解
  • 修改配置真正解决php文件上传大小限制问题(nginx+php)
  • IIS7配置PHP图解(IIS7+PHP_5.2.17/PHP_5.3.5)
  • PHP 5.4.19 和 PHP 5.5.3 发布及下载地址
  • php输入流php://input使用示例(php发送图片流到服务器)
  • 修改配置真正解决php文件上传大小限制问题(apache+php)
  • PHP转换器 HipHop for PHP
  • PHP去除html标签,php标记及css样式代码参考
  • PHP 框架 Pop php
  • PHP 'ext/soap/php_xml.c'不完整修复存在多个任意文件泄露漏洞
  • PHP的JavaScript框架 PHP.JS
  • php通过socket_bind()设置IP地址代码示例


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3