【问题标题】:PHP script to run multiple php scripts in parallelPHP脚本并行运行多个php脚本
【发布时间】:2013-04-26 02:57:32
【问题描述】:

我正在尝试让多个 php 脚本并行运行。我正在运行 WAMP,这意味着无法轻松访问 bash 或 cronjobs。因此尝试仅使用 php 来完成这项工作。

<?php
include("test2.php");
include("test3.php");
include("test4.php");
?>

但是测试文件在输出一行代码之前有一个等待命令。当我运行它时,它会等待每个单独的 php 完成它的等待时间,然后再继续。我希望它们都同时运行(并行)

我也试过

system('C:\wamp\bin\php\php5.4.3 test2.php &');

目标是让脚本并行运行这些脚本,等待它们完成并行运行并输出一个表示完成的回显。我错过了什么吗?

【问题讨论】:

  • Windows = 任务计划程序,Linux = bash/Cron
  • 好吧,尽管如此。我试图将其包含在一个脚本中,并且能够在不设置任务的情况下将其从一台计算机移动到另一台计算机......
  • 在这种情况下.. 如果您希望 PHP 一起处理,不幸的是这不会发生。 PHP 从第 1 行一直工作到处理结束。所以基本上,你的第一个包含将被处理。然后输出,然后你的第二个包含将被处理然后输出,最后你的最后一个包含将被处理然后输出给定
  • 技术上不正确使用像这样的方法phproots.com/multithreading-in-php 我只是希望有人有比这个更有效的方法。

标签: php parallel-processing


【解决方案1】:

还有一件事要考虑,如果您希望它循环运行,只需将其添加到标题中即可。它将等待 iFrame 加载,然后移动到下一页。

<body onload=window.location='parsethem.php'> 

【讨论】:

    【解决方案2】:

    为什么没有人提到使用 iframe。天才!

    <IFRAME SRC="example1.php" WIDTH=0 HEIGHT=0></IFRAME>
    <IFRAME SRC="example2.php" WIDTH=0 HEIGHT=0></IFRAME>
    <IFRAME SRC="example3.php" WIDTH=0 HEIGHT=0></IFRAME> 
    

    可以在 PHP 文件中运行,并允许同时运行多个脚本。多哈。 正是我所需要的,并且像魅力一样工作

    【讨论】:

    • i 框架是一个糟糕的主意,浏览器点是什么,应该通过命令行调用这些。
    • 使用 iframe 意味着它们可以在单个 php 文件中运行,同时加载,完成后我可以使用 javascript window.onload 加载另一个 php 文件。是的,这很混乱,而且在技术上是不正确的做法,但有时结果才是最重要的。
    • 随便称呼它,这种方法对我来说非常有效...它并行运行多个 php 文件并等待它们全部完成,然后再继续。它是 100% 并行运行的。虽然您可能不会这样称呼它,但至少在使用 WAMP 时确实如此。
    • @SuperMar1o,你好。您能好心告诉我更多关于您是如何让多个脚本并行运行的吗?在我的情况下,浏览器在&lt;iframe&gt; 中的 php 脚本完成后等待其代码。 Please see my post
    【解决方案3】:

    据我所知,PHP 是逐句解释和执行代码的。

    CURL 或 readfile() 可能支持在内容流式传输时回显内容,但仅在调用完成后继续。 iframe 解决方案可以工作;或者用于异步调用页面的javascript;您可以使用反引号 ` 运行 bash 命令,但它不是可移植的,也不是好的做法。

    这是一个 shell 脚本选项:https://serverfault.com/a/456498

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-08
      • 1970-01-01
      • 2017-11-04
      • 1970-01-01
      • 2021-12-19
      • 2014-03-02
      相关资源
      最近更新 更多