2011-02-23 29 views
1

的問題是很容易的,我想執行一些PHP文件每一個「N」分鐘。例如:執行PHP文件periodicaly

每N分鐘 { 執行(script1.php) 執行(script2.php) 執行(script3.php) }

我知道的crontab,但我試圖找到另一解。有什麼建議麼?提前致謝。

+4

爲什麼你不能使用cron? – 2011-02-23 21:11:16

+2

crontab是最好的解決方案。在PHP中沒有線程,因爲你不能啓動一個線程,並說每N秒運行一次。 crontab有什麼問題? – 2011-02-23 21:11:31

+2

對cron的另一投票,如果由於某種原因無法使用它,還有其他商業自動化解決方案。 – Orbit 2011-02-23 21:12:28

回答

3

使用Cron作業是通常的解決方案。你能解釋爲什麼你不想使用CRON?我還看到了一些爲您的系統添加類似於cron的功能的庫。例如在Java/Groovy/Grails世界裏有Quartz庫/插件。快速谷歌搜索產生了一個名爲phpJobScheduler的PHP庫,它看起來類似於Quartz。我從來沒有使用phpJobScheduler,所以我不能擔保。

我很感興趣,爲什麼你不希望使用的crontab這個?您是否將成爲運行此服務器的主要網絡操作人員,還是您將依賴現有的系統團隊?你可能想要得到他們的意見,因爲他們是受你選擇的方法影響最大的人。我發現他們傾向於喜歡簡單的日程安排。

+0

使用標準接口(或通過許多控制面板)管理多個cron作業可能會成爲管理員的噩夢。 它更容易安裝: http://phpjobscheduler.co。英國/那麼你可以很容易地在幾秒鐘內看到和編輯任務頁面(但我會說,因爲它是我的開源應用程序)。 – 2014-04-10 06:21:27

0

在我使用所謂的任務計劃程序內置proggie窗口。至於linux,是的,cron作業就是你的答案。

0

您可以創建一個PHP腳本循環永遠做X每N分鐘,並用&運行命令,以使它成爲一個後臺進程。

/路徑/到/ PHP /home/user/bgscript.php &

如果你想讓它始終運行,你再有將其添加到啓動的init.d或服務取決於味道* nix中。

該解決方案是可能的,但我個人強烈建議用crontab中去,它的成立,證明和行之有效的!你爲什麼要避免它?

+0

避免crontab的主要原因是我現在沒有任何關於它的事情,我只是在PHP中找到更簡單的方法。 無論如何,非常感謝您的回答,我會盡量使用crontab。 順便說一句,有可能在您的託管服務器使用crontab或取決於您的託管公司? – Iker 2011-02-23 21:22:31

+0

這將取決於您的主機和您的託管軟件包,它們都具有不同級別的訪問權限,它們會將您提供給您的服務器。 – Infotekka 2011-02-23 21:32:54

0

你可以建立一個腳本,讓它作爲一個守護進程運行,並在設定的時間間隔內執行某些任務,但實際上這只是模擬cron ...而且如果你有能力運行一個php腳本作爲守護進程,你應該真的也能夠將它作爲cronjob運行,因爲這是crons的成果。

如果您需要關於如何運行PHP腳本作爲一個守護進程read this great intro更多信息。守護進程和cron之間也有很好的比較,值得一讀。