簡體   English   中英

PHP條件:cronjob執行的腳本

[英]PHP Condition : Script performed by cronjob

我有一個腳本,該腳本僅在腳本是從cron作業運行時才執行一段代碼,但我不知道條件“如果腳本是由cronjob執行的”

只需使用此問題的答案: 使用CRON作業訪問URL?

但是,請為URL提供一個參數,以指示該URL來自CRON Job。

* * * * * wget -O - http://yoursite.com/script.php?fromcron=1 >/dev/null 2>&1

script.php的

if(!isset($_GET['fromcron']) || $_GET['fromcron'] !== 1) {
    exit(); 
}

// ...

如果您有兩種類型的請求,分別來自服務器和遠程,則可以通過變量$ _SERVER確定它們之間的區別。

如果從php命令運行php文件,則不會設置$ _SERVER ['REMOTE_ADDR']。 因此,您可以使用:

if( !isset($_SERVER['REMOTE_ADDR'] ) {
    // The script is run by php command
}

但是,如果您的2種類型的請求是通過php命令運行的,則最好使用2個php文件,第一個是普通的文件,而第二個將包含第一個文件,並且還會運行將由cronjob運行的特定腳本。

暫無
暫無

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

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