PHP函数在每次执行脚本时将变量增加1

时间:2015-08-05 04:35:05

标签: php variables cron increment execution

每次执行脚本时,是否可以将变量或数组递增1。

一个例子是,我执行脚本并将变量设置为$increment = '1';

然后我关闭脚本并在30分钟后返回再次执行脚本。

这次变量必须是$increment = '2';

脚本将每30分钟从cron运行一次,总共8次。

第8次执行后,变量需要重新回到$increment = '1';

这可以通过会话吗?可以为cli sapi设置会话吗?

或者输出带有下一个增量编号的文本文件并从文本文件中拉出值会更容易吗?

感谢所有帮助。

2 个答案:

答案 0 :(得分:2)

您必须在调用脚本之间将变量的值保存到非易失性源。此外,如果(通常情况下)脚本几乎可以在同一时间被调用,您必须考虑竞争条件。

最好的选择是将变量存储在维护事务安全性的数据库中。即便是大多数廉价网站主机都提供某种形式的数据库来满足这一要求......具体情况取决于您的特定设置。

答案 1 :(得分:0)

将计数器值存储在数据库中,并在执行脚本更新计数器时使用+ 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的简单逻辑。