有时我有一个很长的任务,我不希望当前的PHP线程等待,我做了如下的事情。在会话中传递数据有点不方便,但似乎有效。发送数据到php后台线程脚本
我有另一个类似的应用程序,除了file1.php没有被用户的客户端访问,而是被另一个服务器访问,并且用户只能访问其他服务器。因此,会话cookie将不可用于file1.php中的session_start()
,并且它必须为每个事件创建单独的会话文件。
将数据传递给后台工作者脚本的其他选项是什么?我没有传递大量的数据,但它仍然是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
可以发送多少数据作为参数? – user1032531
@ user1032531超过1kb我期望:http://stackoverflow.com/questions/6846263/maximum-length-of-command-line-argument-that-can-be-passed-to-sqlplus-from-lin – Steve