【问题标题】:How to run a PHP script asynchronously from a another PHP script? [duplicate]如何从另一个 PHP 脚本异步运行 PHP 脚本? [复制]
【发布时间】:2011-02-26 15:08:33
【问题描述】:

可能重复:
Call another PHP script and return control to user before the other script completes

我需要从另一个 PHP 脚本异步运行一个 PHP 脚本。


脚本 1

<?php
    echo "Entering main script 1";
    system("php script2.php");
    echo "Exiting main script 1";
?>

脚本 2

<?php
    echo "Entering script 2";
    sleep(10);
    echo "Exiting script 2";
?>

script 1中,我使用system()方法来运行script2.php。我不希望脚本 1 等待脚本 2 完成其执行。如何使其异步?有没有其他方法可以在不使用 system() 函数的情况下运行 PHP 脚本?请帮我。谢谢。

【问题讨论】:

  • 此线程的重复:stackoverflow.com/questions/5103528 您可以使用我提供的相同解决方案
  • @JohnP:这对我不起作用!你能给我举个例子吗?
  • 出了什么问题,有什么错误信息吗?请记住,您需要使用 $output 和 $return_var 参数将脚本的输出发送到文件(或任何其他输出流)。只需使用 fopen 打开一个文件描述符并传递它就可以了。

标签: php unix asynchronous


【解决方案1】:

在命令行末尾添加&amp; 以使进程在绝大多数shell 的后台运行。即:

脚本 1

<?php
    echo "Entering main script 1";
    system("php script2.php &");
    echo "Exiting main script 1";
?>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-10
    • 1970-01-01
    • 1970-01-01
    • 2013-12-26
    • 2012-08-06
    • 2017-03-30
    • 1970-01-01
    相关资源
    最近更新 更多