日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

php添加linux定时任务,PHP与Linux定时任务

發布時間:2025/3/19 linux 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php添加linux定时任务,PHP与Linux定时任务 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

定時任務在實際開發中用到是非常多的,這里也簡單說說PHP怎么執行定時任務。我們都知道PHP是一門解釋性語言,當我們在瀏覽器中輸入某個URL時,我們才能去執行PHP,但是如果不訪問URL呢,怎么讓PHP跑起來?這個問題,可能大家都沒有仔細思考過,當然我也沒有考慮過,,,,

PHP的定時任務其實就是讓PHP腳本每隔一段時間運行一次,這就需要結合Linux的crontab了。下面我們需要先了解一下crontab。

Linux crontab命令

Linux crontab是用來定期執行程序的命令。先看一下下面幾個命令。

crontab -e??//編輯定時任務

crontab -r?//刪除定時任務

crontab -l? //列出當前定時任務

除此之外你還需要知道的是,定時任務的格式是怎么樣的

f1 f2 f3 f4 f5 program

其中 f1 是表示分鐘,f2 表示小時,f3 表示一個月份中的第幾日,f4 表示月份,f5 表示一個星期中的第幾天。program 表示要執行的程序。

當 f1 為 * 時表示每分鐘都要執行 program,f2 為 * 時表示每小時都要執行程序,其余類推

當 f1 為 a-b 時表示從第 a 分鐘到第 b 分鐘這段時間內要執行,f2 為 a-b 時表示從第 a 到第 b 小時都要執行,其余類推

當 f1 為 */n 時表示每 n 分鐘個時間間隔執行一次,f2 為 */n 表示每 n 小時個時間間隔執行一次,其余類推

當 f1 為 a, b, c,... 時表示第 a, b, c,... 分鐘要執行,f2 為 a, b, c,... 時表示第 a, b, c...個小時要執行,其余類推

通過一個實例來了解定時任務

首先我們在Linux下任一目錄新建index.php文件<?php

$path = dirname(__FILE__) . '/data.txt';

if (!file_exists($path)) {

file_put_contents($path, 0);

} else {

$num = file_get_contents($path);

file_put_contents($path, $num + 1);

}

這段代碼的意思在data.txt中寫一個數字,并且每次執行將數字更新+1。

然后我們使用crontab -e命令來創建定時任務,內容為下*/1 * * * * php /www/wwwroot/crontab/index.php

這樣其實定時任務就建好了,這句代碼的意思是沒過一分鐘執行一次這個目錄下的index.php文件一次。

代碼寫好了,我們需要看定時任務是不是成功執行了。tail -f /var/log/cron

使用該命令才看定時任務日志,下面就說明定時任務已經成功執行了。

接下來我們可以看一下,index.php同目錄下是不是多了一個'data.txt'的文件,如果有說明我們已經成功了,并且文件中的值會每過一分鐘+1。

如果,如果并沒有出現預期的結果,那么,,,開始排查bug吧,這是每個程序員都會經歷的,同樣的代碼,同樣的操作,為啥會出現不一樣的結果??!!(抓狂)

冷靜一下,開始找bug了,首先你的確保自己的定時任務執行了,自己通過crontab日志確定,然后再想是不是代碼的問題,php index.php先手動執行試試,咦,手動執行竟然也沒出現預料的結果,開始仔細檢查代碼,而又想到自己在本地windows下能夠完美運行該文件,那么如果有問題,可能出現在Windows和Linux系統的差異上,路徑?權限?

想到就試試,將代碼里的路徑換成絕對路徑,并使用“/”連接(windows路徑連接符是“\”),最后賦予index.php寫和執行的權限chmod 777 index.php

OMG!預期效果達到了。

老規矩,如果你有疑問,歡迎留言。你若問,我必答。

總結

以上是生活随笔為你收集整理的php添加linux定时任务,PHP与Linux定时任务的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。