发布
社区首页 >问答首页 >php5在后台进行系统调用

php5在后台进行系统调用
EN

Stack Overflow用户
提问于 2016-01-14 07:11:59
回答 1查看 95关注 0票数 0

我正在尝试从Linux下的php5脚本创建一个tarball,我并不真正关心输出;到目前为止,我立即发现的方法是简单地

代码语言:javascript
代码运行次数:0
复制
system("tar czf tarball.tgz directory/path &");

然而,我想介绍一下这个过程的背景。

检查system() documentation时,它会提到必须将输出重定向到文件

然而,

代码语言:javascript
代码运行次数:0
复制
system("tar czf tarball.tgz directory/path > /dev/null 2>&1");

帮不上忙。system()函数不接受文件描述符...我遗漏了什么?

使用这些工具进行测试:

脚本test.php

代码语言:javascript
代码运行次数:0
复制
<pre><?php

exec("bash dodate 2>&1 /dev/null &");
system("echo done at \$(date)");

?></pre>

脚本./dodate

代码语言:javascript
代码运行次数:0
复制
sleep 5
date

我打开浏览器,调用/刷新页面;实际上,打印/更新"done“消息需要5秒钟。

谢谢

EN

回答 1

Stack Overflow用户

发布于 2016-01-14 08:38:03

在php中你“没有”线程。你可以做的一个技巧是向另一个php发出curl请求,让它做你想做的事情。你需要确保你的curl超时很快,并且当连接到它的http连接被curl超时关闭时,另一个php不会死掉。

您还可以在此处阅读相关主题:cURL Multi Threading with PHPcURL Multi Threading?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34778830

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档