【问题标题】:calling another php script from a master php script?从主 php 脚本调用另一个 php 脚本?
【发布时间】:2013-10-02 23:33:00
【问题描述】:

我有两个 php 脚本 scriptA 和 scriptB。 我正在从 scriptA 调用 scriptB。 在 scriptA 的迭代中调用 scriptB 但是,在 scriptB 完成之前 scriptA 已经退出。我不确定下一步该怎么做?除了在 scriptA 中添加延迟。

我在 scriptA 中调用 scriptB

由

foreach (...) {

shell_exec('php -q /path/scriptB.php')

....
}

谢谢!

【问题讨论】:

  • 你能澄清一下这个问题吗?您目前如何“调用”scriptB?您面临的具体问题是什么?也许您可以向我们展示您的代码示例?
  • 您要在 scriptA 中处理来自 scriptB 的输出吗?
  • PHP 不能那样工作。当您包含/需要一个文件时,它将在退出调用它的文件之前执行该文件中存在的任何逻辑。
  • 更新了脚本的调用方式
  • 我认为这个问题可能来自the XY Problem:通过这种方式将两个脚本连接在一起,您实际上想达到什么目的?

标签: php delay


【解决方案1】:

我认为这取决于您可能需要提供更多说明。这是一个对我来说很好用的简单示例:

A.php:

<?php
    for($i = 0; $i < 10; ++$i) {
        include('B.php');
    }
?>

B.php:

<?php
    echo "The value of \$i is {$i}\n";
?>

当您包含一个文件时,该代码被包含在内,就好像它在调用“包含”的地方是内联的。

【讨论】:

  • 如果您需要传递命令行参数,您需要在被调用的主脚本(本例中为“A.php”)上执行此操作。由于包含了“B.php”,因此它可以访问调用脚本时传入的任何参数(例如,如果以php A.php -n 3 --arg 'B.php' 的形式调用,则可以访问这些参数,就像“A.php”一样) .如果您将其视为“B.php”中的代码直接在“A.php”中代替 include 语句,这可能会有所帮助,因为这正是包含文件。
【解决方案2】:

当你打电话时,你可以喜欢referenced:

文件1 js

function alertNumber(number) {
alert(number); }

文件2 js

function alertOne() {
 alertNumber("one"); }

对于同步我认为,您可以使用只会在 scriptB 上更改的值,而 scriptA 将仅退出此值更改。

【讨论】:

  • 他问的是jsphp。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-31
  • 2013-12-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多