簡體   English   中英

如何在CRON中增加PHP變量

[英]How to Increment a PHP Variable In a CRON

我有一個simpleXML文件,它是從rest api調用生成的,並將通過cronjob按計划送入數據庫。

從API調用返回的結果限制為每頁10個,我遇到的問題是更新調用的頁碼參數以獲取下一組結果

$page_number = 1;
$page = $page_number++;

$api_url = "example.com/rest/api?products=new&pageid=$page";

我不知道如何讓變量$ page在每個cron上遞增,任何幫助都非常感激

在/tmp/file.txt中創建新的空文件

$page_number = file_get_contents("/tmp/file.txt");
if (!$page_number) $page_number = 1;
$page = $page_number + 1;
$f = fopen("/tmp/file.txt", "w+");
fwrite($f, $page);
fclose($f);

$api_url = "example.com/rest/api?products=new&pageid=$page";

你可以存儲在:

  • File =>查看其他答案。 你需要訪問文件系統(但我認為你應該有這個或繼續前進)。
  • Redis (或Memcached )=> http://redistogo.com提供Redis的免費實例和predis非常流行的PHP庫連接到redis。 這個解決方案將(幾乎'總是工作,並將非常快。你只需要socket
  • SQL =>如果您的托管服務提供商提供此服務,您應該使用PDO連接到SQL。 我認為它應該提供這個或你應該繼續前進。

將數字保存在數據庫中或作為僅包含數字作為內容的文件將是最安全的方式。

$fname = '/tmp/pager_counter'; // don't use tempnam function here!!!
$fp = fopen($fname, 'w+');
$page = (int)fread($fp, filesize($fname));
if (!$page) {
    $pgae=0;
}
$page++;
fwrite($fp, $page, strlen((string)$page));

$api_url = "example.com/rest/api?products=new&pageid=$page";

您可以輕松使用任何其他數據庫或緩存( MySQLmemcache等)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM