我想在后台运行一个 php 脚本,因为它需要很多时间,而且我不想等待它。
这个问题涉及:
我试图在我的 linux centos 机器上完成这项工作,但不幸的是它似乎无法正常工作。
这是我的代码:
$cmd = 'php '.realpath($_SERVER["DOCUMENT_ROOT"]).'/test/sample.php';
exec(sprintf("%s > %s 2>&1 & echo $! >> %s", $cmd, $outputfile, $pidfile));
exec(sprintf("$s > $s 2>&1 & echo $1", $cmd, $outputfile),$pidArr);
sleep(2);
print_r($outputfile);
print_r($pidfile);
我包含了 sleep(2) 以确保 sample.php 脚本完成。sample.php 只包含 echo 'Hello world'; 我尝试了两个 exec 选项,但都没有工作。上面的脚本没有显示任何输出。
我尝试在 linux 命令行中运行相同的 $cmd,它向我显示了 sample.php 脚本的输出。
我想先运行它,但除此之外,我还想将变量发送到 sample.php 脚本。
非常感谢您的帮助。