<pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

          <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

          <p id="bbfd9"></p>

          <p id="bbfd9"><cite id="bbfd9"></cite></p>

            <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

            <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
            <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
            php語言

            PHP定時發送服務的解決辦法

            時間:2025-02-04 05:37:39 php語言 我要投稿
            • 相關推薦

            關于PHP定時發送服務的解決辦法

              主要介紹了關于PHP定時發送服務的解決辦法,需要的朋友可以參考下,就跟隨百分網小編一起去了解下吧,想了解更多相關信息請持續關注我們應屆畢業生考試網!

              一、定時發送任務解析

              在進行手機APP或者微信開發的時候,經常會有需要定時推送消息的場景。

              定時發送又分為兩種:

              一種是在開發的時候固定時間,后臺管理人員只能選擇將要推送的消息;

              另一種是后臺管理人員可以自由選擇推送的時間和消息;

              二、解決方案

              PHP本身是不支持定時發送的,因為PHP是一個腳本語言。在大多數情況下,瀏覽器關閉,PHP也就不執行了。大部分情況下都依賴于外部的一些小東西。

              1、固定時間

              大多數服務器系統都是windows或linux。

              linux:使用CronTab定時執行php

              首先,進入命令行模式。作為服務器的linux一般都默認進入命令行模式的,當然,我們管理服務器也一般通過putty等工具遠程連接到服務器,為了方便,我們用root用戶登錄。在命令行中鍵入:

              ?

              1

              crontab -e

              之后就會打開一個文件,并且是非編輯狀態,則是vi的編輯界面,通過敲鍵盤上的i,進入編輯模式,就可以編輯內容。這個文件中的每一行就是一個定時任務,我們新建一行,就是新建一條定時任務(當然是指這一行內按照一定的格式進行書寫)。我們現在來舉個例子,增加一行,內容如下:

              ?

              1

              00 * * * * lynx -dump https://www.yourdomain.com/script.php

              這是什么意思呢?實際上上面這一行由兩部分組成,前面一部分是時間,后面一部分是操作內容。例如上面這個,

              ?

              1

              00 * * * *

              就是指當當前時間的分鐘數為00時,執行該定時任務。時間部分由5個時間參數組成,分別是:

              分 時 日 月 周

              第1列表示分鐘1~59 每分鐘用或者 */1表示,/n表示每n分鐘,例如*/8就是每8分鐘的意思,下面也是類推

              第2列表示小時1~23(0表示0點)

              第3列表示日期1~31

              第4列表示月份1~12

              第5列標識號星期0~6(0表示星期天)

              整個句子的后面部分就是操作的具體內容。

              ?

              1

              lynx -dump https://www.yourdomain.com/script.php

              意思就是說通過lynx訪問這個url。我們在使用中主要用到lynx、curl、wget來實現對url的遠程訪問,而如果要提高效率,直接用php去執行本地php文件是最佳選擇,例如:

              ?

              1

              00 */2 * * * /usr/local/bin/php /home/www/script.php

              這條語句就可以在每2小時的0分鐘,通過linux內部php環境執行script.php,注意,這里可不是通過url訪問,通過服務器環境來執行哦,而是直接執行,因為繞過了服務器環境,所以效率當然要          高很多。

              好了,已經添加了幾條需要的定時任務了吧。點擊鍵盤上的Esc鍵,輸入“:wq”回車,這樣就保存了設置的定時任務,屏幕上也能看到提示創建了新的定時任務。接下來就是好好寫你的script.php            了。

              windows:

              windows上和linux上有一個類似的cmd和bat文件,bat文件類似于shell文件,執行這個bat文件,就相當于依次執行里面的命令(當然,還可以通過邏輯來實現編程),所以,我們可以利用bat命          令文件在windows服務器上面實現PHP定時任務。實際上在windows上定時任務,和linux上道理是一樣的,只不過方法和途徑不同。好了下面開始。

              首先,在一個你覺得比較適當的位置創建一個cron.bat文件,然后用文本編輯器打開它(記事本都可以),在里面寫上這樣的內容:

              ?

              1

              D:\php\php.exe -q D:\website\test.php

              這句話的意思就是,使用php.exe去執行test.php這個php文件,和上面的contab一樣,繞過了服務器環境,執行效率也比較高。寫好之后,點擊保存,關閉編輯器。

              接下來就是設置定時任務來運行cron.bat。依次打開:“開始–>控制面板–>任務計劃–>添加任務計劃”,在打開的界面中設置定時任務的時間、密碼,通過選擇,把cron.bat掛載進去。確定,這樣          一個定時任務就建立好了,在這個定時任務上右鍵,運行,這個定時任務就開始執行了,到點時,就會運行cron.bat處理,cron.bat再去執行php。

              2、自由選擇時間

              常用的博客系統wordpress有一個wp-corn文件來執行博客的定時發送,博主以wp-corn為原型編寫了一個文件。

              wp-corn是非常消耗服務器資源的一個策略。每個人訪問博客的時候都會調用wp-corn文件(讀取當前服務器時間,判斷是否發送)。缺陷是在訪問人數比較小的時候不能及時發送,人數過多又造成服務器性能降低。

              博主做項目的時候公司提供的是一臺windows服務器。采用的方法是在服務器上打開一個頁面,每分鐘自動刷新一次(簡單的js腳本,不再提供代碼)。

            【PHP定時發送服務的解決辦法】相關文章:

            PHP郵件發送驗證08-21

            PHP的GET和POST請求發送方法09-27

            使用PHP發送郵件的兩種方法06-24

            PHP實現定時任務的幾種方式和詳解09-13

            PHP如何使用curl發送GET和POST請求09-10

            php使用curl發送json格式數據實例07-08

            PHP如何用curl發送GET和POST請求09-07

            Apache連接PHP后無法啟動的解決辦法09-01

            PHP構建監視服務的方法06-19

                    <pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

                    <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

                    <p id="bbfd9"></p>

                    <p id="bbfd9"><cite id="bbfd9"></cite></p>

                      <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

                      <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
                      <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
                      飘沙影院