当前位置:网站首页>PHP实现异步执行程序
PHP实现异步执行程序
2022-08-04 05:25:00 【eleven_-11】
PHP实现异步执行程序
需要异步执行的原因
在进程执行一个脚本程序的时候,往往需要等待脚本程序执行结束后返回结果,才能往下执行,如果是耗时操作可能导致超时的情况
方法
popen函数
使用
popen.php
$sCmd = "php sleep.php";
file_put_contents("echo", "开启popen时间:".date("Y-m-d H:i:s", time()) . "\n", FILE_APPEND);
$hResource = popen("$sCmd &", "r");
pclose($hResource);
file_put_contents("echo", "执行popen时间:".date("Y-m-d H:i:s", time()) . "\n", FILE_APPEND);
sleep.php
sleep(60);
file_put_contents("echo", "sleep进程结束时间:".date("Y-m-d H:i:s", time()) . "\n", FILE_APPEND);
echo文件
由此可以看出,popen是异步执行的函数
注意
若需要执行的异步程序有输出,则不能这么写
比如sleep.php
<?php
for($i = 0;$i<5;$i++){
echo "$i\n";//输出
file_put_contents("/root/a.txt", "$i\n", 8);
sleep(1);
}
若popen.php内容如下
<?php
pclose(popen("php sleep.php", "r"));
}
则没有a.txt,因为popen打开了一个通道,如果有内容输出时,而pclose又关闭了通道,因此异步脚本未能完全执行,以上写法只有当异步执行的脚本没有输出才可以使用。
所有popen.php内容需要修改为如下
<?php
$handle = popen("php sleep.php", "r");
sleep(10);//或者其他检测sleep.php是否执行完毕的流程
pclose($handle);
}
边栏推荐
猜你喜欢

数的划分之动态规划

Unity表格配置编辑工具

The idea setting recognizes the .sql file type and other file types

canal实现mysql数据同步

8.03 Day34---BaseMapper query statement usage

CentOS7 —— yum安装mysql

编程大杂烩(四)

Tactile intelligent sharing - SSD20X realizes upgrade display progress bar

利用Jenkins实现Unity自动化构建

嵌入式系统驱动初级【3】——字符设备驱动基础中_IO模型
随机推荐
部署LVS-DR群集【实验】
MySQL日期函数
sql server如何得到本条记录与上一条记录的差异,即变动值
Deploy LVS-DR cluster [experimental]
(Kettle) pdi-ce-8.2 连接MySQL8.x数据库时驱动问题之终极探讨及解决方法分析
C语言 -- 操作符详解
npm init [email protected] 构建项目报错SyntaxError: Unexpected token ‘.‘解决办法
word 公式编辑器 键入技巧 | 写数学作业必备速查表
MySQL log articles, binlog log of MySQL log, detailed explanation of binlog log
MediaCodec支持的类型
The string class introduction
What is the salary of a software testing student?
[One step in place] Jenkins installation, deployment, startup (complete tutorial)
leetcode 12. Integer to Roman numeral
SLSA 框架与软件供应链安全防护
What are the functions of mall App development?
Summary of MySQL database interview questions (2022 latest version)
OpenSSF 安全计划:SBOM 将驱动软件供应链安全
擎朗智能全国研发创新中心落地光谷:去年曾获2亿美元融资
Landing, the IFC, GFC, FFC concept, layout rules, forming method, use is analysed