php 程序执行过程中不等待执行另一个php程序

php 程序执行过程中不等待执行另一个php程序

有三个文件:

1.a.php
2.b.txt
3.c.php

在做一个硬件程序的时候,需要一个功能:a.php执行一个程序,在此程序中将处理的数据库数据以json格式写入b.txt文件中,写入b.txt后,a.php立刻让c.php文件使用另一套处理数据的程序处理b.txt中的数据,并且a.php不再等待c.php是否完成处理数据,找了一段时间,发现有一个方法可以实现这个功能,如下:

a.php代码

<?php
$data = '';//处理后需要c.php处理的数据
file_put_contents('b.txt',json_encode($data));
$cmd = 'php c.php';
pclose(popen($cmd.' > /dev/null &', 'r'));

c.php 代码

<?php
$data = file_get_contents('b.txt');
if(empty($data)) {
    file_put_contents('c.log',date('Y-m-d H:i:s'.'operate is empty!'.PHP_EOL,FILE_APPEND));
    exit;
};
//下面可以是对$data数据的处理程序

这样就可以实现这个功能了

猜你喜欢

转载自blog.csdn.net/wuyoulv/article/details/79454940
php