PHP функция для увеличения переменной на 1 каждый раз, когда выполняется скрипт

Можно ли увеличивать переменную или массив на 1 каждый раз, когда выполняется скрипт?

Например, я выполняю сценарий, и он устанавливает переменную $increment = '1';

Затем я закрываю сценарий и возвращаюсь через 30 минут, чтобы снова выполнить сценарий.

На этот раз переменная должна быть $increment = '2';

Скрипт будет запускаться из cron каждые 30 минут в общей сложности 8 раз.

После восьмого выполнения переменная должна быть перемотана обратно $increment = '1';

Это возможно через сессию? Может ли сеанс быть настроен для Cli Sapi?

Или было бы проще вывести текстовый файл с номером следующего приращения и просто извлечь значение из текстового файла?

Вся помощь приветствуется.

0

Решение

Вы должны будете сохранить значение переменной в энергонезависимом источнике между вызовами скрипта. Кроме того, вам придется учитывать условия гонки, если (как это часто бывает) сценарий может быть вызван практически одновременно.

Лучше всего для этого хранить вашу переменную в базе данных, которая обеспечивает безопасность транзакций. Даже самые дешевые веб-хостеры предлагают какую-либо форму базы данных, которая будет соответствовать этому требованию … особенности зависят от вашей конкретной настройки.

2

Другие решения

Сохранить значение счетчика в базе данных и при запуске счетчика обновлений скрипта с + 1

Пример скрипта

$conn = new mysqli('localhost', 'my_user', 'my_password', 'my_db');

if($query = $conn->query("YOU ACTION QUERY HERE"))
{
// Here you call your actions of script

/* Increment the counter field here. */
$conn->query("UPDATE table SET counter = counter + 1");
}

$conn->close();

Заметка Его простая логика — увеличивать переменную на 1 каждый раз, когда выполняется скрипт.

0

По вопросам рекламы [email protected]