【发布时间】:2015-03-15 06:59:14
【问题描述】:
有时我有一个很长的任务,我不希望当前的 PHP 线程等待,我已经完成了类似以下的操作。在会话中传递数据有点笨拙,但似乎可行。
我有另一个类似的应用程序,除了 file1.php 没有被用户的客户端访问,而是被另一台服务器访问,并且用户只访问另一台服务器。因此,file1.php 中的session_start() 将无法使用会话 cookie,并且必须为每次出现创建单独的会话文件。
还有哪些其他选项可以将数据传递到后台工作脚本?我没有传递大量数据,但它仍然会是 1kb 左右。
file1.php
session_start();
$_SESSION['_xfr']=$_POST;
$status=exec($'/usr/bin/php -q /path/to/my/worker.php'.' '.session_id().' >/dev/null &');
echo('Tell client we are done.');
file2.php
session_id($argv[1]);//Set by parent
session_start();
$data=$_SESSION['_xfr'];
//Do some task
【问题讨论】:
标签: php multithreading