gpt4 book ai didi

php - 如何使用 EXEC() 和 CMD 在后台执行 PHP 脚本

转载 作者:可可西里 更新时间:2023-11-01 11:19:36 27 4
gpt4 key购买 nike

我不能使用 $com = new Com('WScript.shell'); 方式,它会导致我的系统出现问题。可能我需要升级我的 PHP,因为它很旧 (5.2),但我想我想做的事情与版本无关。

我在 Windows 2008 64 位上运行 PHP。我可以在其中运行以 start 为前缀的命令以在单独的控制台上运行该命令。

start php myscript.php

如果这是从命令行执行的,它会为脚本启动一个新的控制台。

我需要使用 exec 从 PHP 执行相同的操作

exec("CMD /C start php myscript.php");

/C 是在脚本完成时终止 CMD session 。

但它没有给出相同的结果,它仍在等待脚本终止!

最佳答案

这应该有效:

exec("start /B php myscript.php");

同时关闭 myscript.php 开头的所有标准流:

fclose(STDIN);
fclose(STDOUT);
fclose(STDERR);

如果您希望 echo 仍然有效,您可以在关闭标准流后打开一个文件写入 stdout:

$STDIN = fopen('/dev/null', 'r');
$STDOUT = fopen('myscript.log', 'wb');

关于php - 如何使用 EXEC() 和 CMD 在后台执行 PHP 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18575794/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com