【发布时间】:2010-12-05 03:54:49
【问题描述】:
我有一个批量 Flash 上传脚本,可以将视频文件上传到目录。简单的。上传完成后,它会为该文件创建一条 mysql 记录,然后移动到队列中的下一个文件。
在此之前,我希望它调用一个后台进程,将上传的 avi avi 文件转换为与 ipod 兼容的 mp4 文件,并生成一些预览缩略图。正如您可以想象的那样,这需要一些时间......我可以简单地将转换代码放在文件上传器中......但它会为每个文件挂起 10-20 分钟,这是一个诺诺(甚至你它是一个仅限管理员的功能)。
所以我希望它在后台分叉转换过程,并在转换文件的同时进行下一次上传。
这样的东西能完成这项工作吗,还是我实际上必须使用 php fork 函数?
exec("/usr/bin/php ./convert.php?id=123 > /dev/null 2>&1 &");
【问题讨论】:
-
我想我过去用过这样的东西: exec('bash -c "/usr/bin/php ./convert.php > /dev/null 2>&1 &"' );但是请注意,您尝试在命令行上传递 URL 参数。我很确定那行不通。您必须将它们作为命令行参数传递。
标签: php fork background-process