如何通过一个php代码异步运行其他php代码?

如何通过一个php代码异步运行其他php代码?,php,fork,Php,Fork,举例说明: f、 php: index.php: for $i=0 to 200000 // run f.php?ad=i$ 运行f.php,但不要等待完成f.php 你怎么能这么做 我发现,但我现在不知道这是真的或现有的其他解决方案,或者这是最好的解决方案 何时使用exec以及如何使用 你寻找的术语叫做分叉。这里有一个链接,指向将代码转换为异步过程所需的所有PHP文档 你要找的术语叫做分叉。这里有一个链接,指向将代码转换为异步过程所需的所有PHP文档 如果您运行的是linux,并

举例说明: f、 php:

index.php:

 for $i=0 to 200000
     // run f.php?ad=i$
运行f.php,但不要等待完成f.php 你怎么能这么做

  • 我发现,但我现在不知道这是真的或现有的其他解决方案,或者这是最好的解决方案

  • 何时使用exec以及如何使用


  • 你寻找的术语叫做分叉。这里有一个链接,指向将代码转换为异步过程所需的所有PHP文档


    你要找的术语叫做分叉。这里有一个链接,指向将代码转换为异步过程所需的所有PHP文档


    如果您运行的是linux,并且有权访问php CLI,那么您可以拥有如下功能:

    <?php
    // this will launch worker to run something... 
    shell_exec('php worker.php >/dev/null &');
    
    // the rest of the flow goes here
    ...
    ?>
    
    
    

    worker.php
    可以将内容写入数据库、发送电子邮件等等…

    如果您正在运行linux并有权访问php CLI,则您可以拥有如下功能:

    <?php
    // this will launch worker to run something... 
    shell_exec('php worker.php >/dev/null &');
    
    // the rest of the flow goes here
    ...
    ?>
    
    
    

    worker.php
    可以将内容写入数据库,发送电子邮件,无论什么…

    exec用于运行外部代码,例如从程序中获取系统统计数据。您确实想研究forking。相关问题:,exec用于运行外部代码,例如从您的程序获取系统统计数据。您确实想研究forking。相关问题:,shell_exec在返回输出时仍在阻塞。请注意&在结尾处,重点介绍在后台运行的东西(在linux/unix中)。如果您不添加&那么这个解决方案将不起作用,也不适合启动后台工作,因为从长远来看,这将变得非常麻烦。@George,完全同意。。。这只是一个简单的解决办法。@Geoffrey请接受我的道歉。永远不要在打电话的同时写下任何东西。对不起!;)shell_exec返回输出时仍在阻塞。请注意&在结尾处,重点介绍在后台运行的东西(在linux/unix中)。如果您不添加&那么这个解决方案将不起作用,也不适合启动后台工作,因为从长远来看,这将变得非常麻烦。@George,完全同意。。。这只是一个简单的解决办法。@Geoffrey请接受我的道歉。永远不要在打电话的同时写下任何东西。对不起!;)如何向fork生成的child发送数据?在变量中定义它,例如$child\u data=“some data”;然后分叉子进程(子进程可以访问父进程中的所有变量)。唯一不能分叉的是资源连接,如mysql,这些需要在新分叉内部重新创建。如何将数据发送到分叉生成的子级?在变量中定义它,如$child_data=“some data”;然后分叉子进程(子进程可以访问父进程中的所有变量)。唯一不能分叉的是资源连接,比如mysql,它们需要在新的分叉内部重新创建。