gpt4 book ai didi

php - 在 Windows 上的 PHP 中 fork

转载 作者:IT王子 更新时间:2023-10-29 00:12:48 25 4
gpt4 key购买 nike

我们在 Windows 服务器上运行 PHP(确实是许多问题的根源,但目前无法进行迁移)。在某些情况下,用户发起的操作需要启动一些需要一段时间的事情,而用户不需要知道它们是成功还是失败,例如发送电子邮件或确保一些第三方帐户已更新。如果我可以使用 pcntl_fork() 进行 fork ,这将非常简单,但 PCNTL 函数在 Windows 中不可用。

似乎我能得到的最接近的是做这种性质的事情:

exec( 'php-cgi.exe somescript.php' );

但是,这会复杂得多。我需要开始的操作依赖于运行过程中已经存在的大量上下文;要使用上面的示例,我需要找出基本数据并以某种方式将其提供给新脚本。如果我可以 fork,那就是让父进程早点返回,让子进程处理更多事情。

我发现一些人在谈论他们自己在 Windows 上编译各种 PCNTL 函数的工作,但似乎没有任何可用的(断开的链接等)。

尽管this question与我的名字几乎相同,看来问题是执行超时比需要 fork 更多。那么,我最好的选择是重构一点来处理调用 php-cgi,还是有其他选择?

编辑:似乎 exec() 对此不起作用,至少在我没有弄清楚它的其他方面时,它不会起作用,因为它会等待调用返回。我想我可以使用 START,有点像 exec( 'start php-cgi.exe somescript.php' );,但它仍然会等到其他脚本完成。

最佳答案

怎么样installing psexec并使用 -d(不要等待)option

exec('psexec -d php-cgi.exe somescript.php');

关于php - 在 Windows 上的 PHP 中 fork ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2458005/

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