我正在尝试从Linux下的php5脚本创建一个tarball,我并不真正关心输出;到目前为止,我立即发现的方法是简单地
system("tar czf tarball.tgz directory/path &");
然而,我想介绍一下这个过程的背景。
检查system() documentation时,它会提到必须将输出重定向到文件
然而,
system("tar czf tarball.tgz directory/path > /dev/null 2>&1");
帮不上忙。system()
函数不接受文件描述符...我遗漏了什么?
使用这些工具进行测试:
脚本test.php
<pre><?php
exec("bash dodate 2>&1 /dev/null &");
system("echo done at \$(date)");
?></pre>
脚本./dodate
sleep 5
date
我打开浏览器,调用/刷新页面;实际上,打印/更新"done“消息需要5秒钟。
谢谢
发布于 2016-01-14 08:38:03
在php中你“没有”线程。你可以做的一个技巧是向另一个php发出curl请求,让它做你想做的事情。你需要确保你的curl超时很快,并且当连接到它的http连接被curl超时关闭时,另一个php不会死掉。
您还可以在此处阅读相关主题:cURL Multi Threading with PHP或cURL Multi Threading?
https://stackoverflow.com/questions/34778830
复制相似问题