【问题标题】:Edit Live Running PHP Script编辑实时运行 PHP 脚本
【发布时间】:2016-01-31 08:27:08
【问题描述】:

假设我有一个 PHP 脚本 somescript.php 每 5 分钟运行一次,每次运行需要 5 分钟。该脚本中有一个循环,例如:

for($x = 0; $x <= 100; $x++ )
{
$variable = "good";
...[rest of code]
}

是否可以在somescript.php 以某种方式主动运行时更改$variable 的值,如果在更改$variable 的值之前循环迭代为50,而在更改之后,迭代为51- 100,他们将使用 $variable 的新值(最好在 Ubuntu 中)?

我并不总是希望值改变。假设运行脚本后,我意识到$variable 的值有误,想在不停止脚本的情况下更改其值?

【问题讨论】:

  • 不太明白你的要求...不能通过添加if ($x==50) $variable = "new";来解决吗?
  • @slbteam08,我并不总是希望值改变。假设在运行脚本后,我意识到$variable 的值有误,想在不停止脚本的情况下更改其值?
  • 我认为这不能通过 PHP 脚本中的变量来完成。需要将状态存储在文件或 redis 等外部存储中,并在迭代期间检查它。

标签: php linux shell loops


【解决方案1】:

如果somescript.php 在命令行上运行,那么您可以通过以下方式将新变量直接传递到命令中:

php /path/to/www/path/to/script.php new_var

然后你可以在你的somescript.php访问它:

$new_var = $argv[0];
for($x = 0; $x <= 100; $x++ )
{
    $variable = "good";
    if ($x >= 50){
        $variable = $new_var;
    }
    ...[rest of code]
}

【讨论】:

  • 谢谢,我编辑了问题以澄清。我并不总是希望值改变。假设在运行脚本后,我意识到$variable 的值有误,想在不停止脚本的情况下更改其值?
  • “意识到”必须以书面形式起草。 somescript.php 如何知道正确的值?如果它结束并返回错误的值,那么无论如何你都要重新运行它并传入新变量。
猜你喜欢
  • 2020-06-26
  • 1970-01-01
  • 1970-01-01
  • 2023-01-08
  • 2012-07-22
  • 2023-01-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多