PHP函数exec()

作者: JONE 分类: PHP/MySQL 发布时间: 2018-09-25 17:31

写了个简单的测试

目前只是在win环境下测试,即使进行了输出重定向,php程序仍然会挂起.why?和系统有关么?

index.php文件

exec('php test.php ');

return 'ooo';

test.php文件如下

for($i = 0; $i<10000; $i++){
    file_put_contents('./test.txt','我就试试'.$i);
}


echo 'over';

却发现 php在执行index.php文件的时候一直处于挂起等待状态直至test.php中的任务执行完成才结束请求

查看手册终于发现

Note:

如何程序使用此函数启动,为了能保持在后台运行,此程序必须将输出重定向到文件或其它输出流。否则会导致 PHP 挂起,直至程序执行结束。

如果exec()函数当前页面执行导致php挂起,那么其他也没的php也将会被挂起,整个PHP请求处于等待状态

发表评论

电子邮件地址不会被公开。 必填项已用*标注