Редактирование Live Running PHP Script

1

Предположим, у меня есть PHP-скрипт, somescript.php который запускается каждые 5 минут и занимает 5 минут для запуска каждый раз. Этот скрипт имеет в себе цикл:

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

Можно ли изменить значение $variable то время как somescript.php активно работает таким образом, что если до изменения значения $variable итерация цикла была равна 50, тогда как после изменения для итераций 51-100 они будут использовать новое значение $variable (в идеале внутри Ubuntu)?

Я не всегда хочу, чтобы значение менялось. Предположим, что после запуска скрипта я понял, что $variable имеет неправильное значение и хочет изменить ее значение, не останавливая скрипт?

  • 1
    Не совсем понимаю ваше требование ... его нельзя решить, добавив if ($x==50) $variable = "new"; ?
  • 0
    @ slbteam08, я не всегда хочу, чтобы значение изменилось. Предположим, что после запуска сценария я понял, что $variable имеет неправильное значение, и хочу изменить ее значение без остановки сценария?
Показать ещё 1 комментарий
Теги:
loops

1 ответ

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]
}
  • 0
    Спасибо, я отредактировал вопрос, чтобы уточнить. Я не всегда хочу, чтобы значение изменилось. Предположим, что после запуска сценария я понял, что $variable имеет неправильное значение, и хочу изменить ее значение без остановки сценария?
  • 0
    это «понимание» должно быть составлено в письменном виде. Как somescript.php знает о правильном значении? Если это заканчивается и возвращает неправильное значение, то вы все равно будете запускать его заново, передавая новую переменную.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню