簡體   English   中英

始終在主機服務器中運行PHP腳本

[英]Running A PHP Script Always in A Hosting Server

我創建了一個PHP腳本,它將在10秒后通過提供的郵件列表連續發送郵件,但是如果我在Web瀏覽器中將其保持打開狀態,它將可以正常工作,但是可以通過任何方式在自己的托管服務器上運行此腳本,因此我不必始終保持瀏覽器和Internet連接處於打開狀態,即使我的計算機已關閉,此腳本仍可在服務器本身中連續運行?

作為守護程序或cron運行它。 對於cron,您可以每1分鍾運行一次。 Cron不支持這一點。 cron條目將如下所示:

# m h  dom mon dow   command
  * *  *   *   *    /usr/bin/php /path/to/project/file.php

對於守護程序,基本上可以從命令行運行此腳本。 在腳本中,您運行帶有10秒睡眠的while循環。

while(true){
    // do stuff
    sleep(10);
}

守護程序解決方案更靈活,但難以實施。 為此,您必須處理信號處理以處理Ctrl + CKILL信號, 分叉dameon ,記錄日志。

假設您在命令字段方面遇到問題,
在“要運行的命令:”字段中,輸入腳本的完整路徑(您可能需要向主機咨詢)。 如果要運行php文件,該命令將以php開頭。 例如,如果您想運行RSS Import來更新您的Pligg提要,則輸入php以及import_feeds.php文件的路徑。
在AN Hosting上,您的路徑如下所示:

php /home/[your username]/public_html/rss/import_feeds.php


如果您要運行自動備份腳本來備份MySQL數據庫並通過電子郵件將副本發送給您(請參見WordPress Blogger(及其他)的8種MySQL備份策略,策略#7),請輸入/ bin / sh( (因為這是Shell腳本)以及腳本的路徑。
在AN Hosting上,您的路徑如下所示:

/bin/sh /home/[your username]/etc/upstart_cron_backup.sh

希望這會有所幫助。

您需要為此使用cron作業。 Cron作業可以按您設置的固定間隔運行。

您可以通過cron運行它...

SSH到您的托管服務提供商,並使用crontab -e轉到crontab -e

並在每個使用wget的時間段設置cron。

wget [options] [url]

在Google上搜索有關如何正確執行此操作的問題

編輯:如果您無權訪問SSH,並且您使用的是Windows,則可以設置計划任務,這是cron作業的癱瘓兄弟。 您可以運行將模擬wget的php腳本。 我建議將預定任務運行到* .bat文件,該文件通過控制台運行php

doThis.bat

php [script-location]

暫無
暫無

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

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