2011-02-27 75 views
5

如何通過PHP腳本設置cron作業。如何通過PHP腳本設置cron作業

+0

什麼是您的操作系統? – Eray 2011-02-27 18:23:14

+0

我的PHP腳本可以在Linux上運行。 – Simpanoz 2011-02-27 18:27:02

+1

你問在php中以編程方式創建cron作業嗎?或者關於創建一個運行你的PHP腳本的cron作業? – 2011-02-27 18:32:28

回答

11

這將添加一個腳本,每天早上9:30運行。

exec('echo -e "`crontab -l`\n30 9 * * * /path/to/script" | crontab -'); 

如果您從Web服務器運行此腳本,您可能會遇到權限問題。爲了解決這個問題,我會建議一個不同的方法。

以下是一種可能的解決方案。創建一個需要運行的腳本列表。您可以將其保存在文本文件或數據庫中。創建一個腳本來閱讀這個列表,並運行它每分鐘或每5分鐘(使用cronjob)。您的腳本需要足夠聰明以決定何時運行腳本列表以及何時退出。

0

您不能通過PHP腳本設置CRON作業,您必須將其設置爲服務器端。除非你想通過system函數來完成,否則你不能通過php設置CRON

如果您沒有在自己的服務器上運行並使用託管服務,請詢問您的託管服務提供商如何設置CRON腳本(如果提供商允許)。

+4

一般來說,PHP腳本在服務器上運行... – 2011-02-27 19:50:47

+0

@Marc B,是的,但它通常是服務器照顧CRON腳本,而不是php _itself_。也許我沒有足夠清楚地解釋自己。 – Czechnology 2011-02-27 19:57:06

2

你知道如何正常設置cron作業嗎? (在PHP之外,即從bash腳本或命令行)。

如果是這樣,您只需使用php函數exec發出相同的命令,您將不得不在命令行中創建cron作業。一個警告是,可能會有許可問題,並且您必須非常小心您在該exec函數中放置的內容(您不希望將最終用戶的輸入傳遞給該函數)。