2011-02-16 58 views
2

我想弄清楚如何在PHP中做時間腳本。基本上,讓我們在我的應用程序中說,我想要定時執行任務(例如,每天向用戶發送電子郵件通知,在特定時間進行一些數據庫清理等)。這種類型的腳本(調度)是如何在PHP中完成的?如果在PHP中不可能,那麼如何做到這一點和在什麼語言?我既是Linux和Windows共享主機帳戶,所以我希望這種方法儘可能通用。定時腳本PHP

任何幫助表示讚賞。

+0

你的服務器上有cron嗎?這是觸發任何基於時間的腳本的常用工具。 – powtac 2011-02-16 16:25:25

+0

@powtac如何檢查? – miki725 2011-02-16 16:28:01

+0

你有命令行嗎?鍵入那裏「哪個crontab」 – powtac 2011-02-16 16:28:44

回答

5

我只安排運行PHP腳本cron作業。

*/5 * * * * php /var/www/cron/cleanup-db.php 

的備用(Windows兼容)的方法是運行一個持久的PHP腳本休眠的間隔,並喚醒它檢查,看看是否有工作需要運行。例如,檢查是否有任何掛起的請求沒有響應或提醒電子郵件N小時。

4

在Unix機器上,您使用cron,它用於重新發生作業。在Windows上,相當於at

2

要完成Adam的答案,在Windows中,您有機會進行計劃任務,可以對給定的時間間隔進行編程。這就是我們的方式。

我看到的問題是您正在討論共享主機,可能您無權在該環境中安排任務。在這種情況下,如果這樣的任務可用,你應該詢問你的系統管理員。

還有一個要求:如果你有php-cli可用,可以在php中完成任務,所以也請檢查一下。

2

Cron是明顯的選擇,但您可能無法使用它,因爲您在「共享」環境中託管您的網站。嘗試使用在線服務,根據您設置的日程安排向您的URL生成自動http請求。谷歌「在線安排http請求」,這裏有很多這樣的服務,其中一些是免費的或者有免費的選擇。