一级日韩免费大片,亚洲一区二区三区高清,性欧美乱妇高清come,久久婷婷国产麻豆91天堂,亚洲av无码a片在线观看

php語(yǔ)言

PHP定時(shí)發(fā)送服務(wù)的解決辦法

時(shí)間:2025-02-04 05:37:39 php語(yǔ)言 我要投稿
  • 相關(guān)推薦

關(guān)于PHP定時(shí)發(fā)送服務(wù)的解決辦法

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

  一、定時(shí)發(fā)送任務(wù)解析

  在進(jìn)行手機APP或者微信開(kāi)發(fā)的時(shí)候,經(jīng)常會(huì )有需要定時(shí)推送消息的場(chǎng)景。

  定時(shí)發(fā)送又分為兩種:

  一種是在開(kāi)發(fā)的時(shí)候固定時(shí)間,后臺管理人員只能選擇將要推送的消息;

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

  二、解決方案

  PHP本身是不支持定時(shí)發(fā)送的,因為PHP是一個(gè)腳本語(yǔ)言。在大多數情況下,瀏覽器關(guān)閉,PHP也就不執行了。大部分情況下都依賴(lài)于外部的一些小東西。

  1、固定時(shí)間

  大多數服務(wù)器系統都是windows或linux。

  linux:使用CronTab定時(shí)執行php

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

  ?

  1

  crontab -e

  之后就會(huì )打開(kāi)一個(gè)文件,并且是非編輯狀態(tài),則是vi的編輯界面,通過(guò)敲鍵盤(pán)上的i,進(jìn)入編輯模式,就可以編輯內容。這個(gè)文件中的每一行就是一個(gè)定時(shí)任務(wù),我們新建一行,就是新建一條定時(shí)任務(wù)(當然是指這一行內按照一定的格式進(jìn)行書(shū)寫(xiě))。我們現在來(lái)舉個(gè)例子,增加一行,內容如下:

  ?

  1

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

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

  ?

  1

  00 * * * *

  就是指當當前時(shí)間的分鐘數為00時(shí),執行該定時(shí)任務(wù)。時(shí)間部分由5個(gè)時(shí)間參數組成,分別是:

  分 時(shí) 日 月 周

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

  第2列表示小時(shí)1~23(0表示0點(diǎn))

  第3列表示日期1~31

  第4列表示月份1~12

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

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

  ?

  1

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

  意思就是說(shuō)通過(guò)lynx訪(fǎng)問(wèn)這個(gè)url。我們在使用中主要用到lynx、curl、wget來(lái)實(shí)現對url的遠程訪(fǎng)問(wèn),而如果要提高效率,直接用php去執行本地php文件是最佳選擇,例如:

  ?

  1

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

  這條語(yǔ)句就可以在每2小時(shí)的0分鐘,通過(guò)linux內部php環(huán)境執行script.php,注意,這里可不是通過(guò)url訪(fǎng)問(wèn),通過(guò)服務(wù)器環(huán)境來(lái)執行哦,而是直接執行,因為繞過(guò)了服務(wù)器環(huán)境,所以效率當然要          高很多。

  好了,已經(jīng)添加了幾條需要的定時(shí)任務(wù)了吧。點(diǎn)擊鍵盤(pán)上的Esc鍵,輸入“:wq”回車(chē),這樣就保存了設置的定時(shí)任務(wù),屏幕上也能看到提示創(chuàng )建了新的定時(shí)任務(wù)。接下來(lái)就是好好寫(xiě)你的script.php            了。

  windows:

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

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

  ?

  1

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

  這句話(huà)的意思就是,使用php.exe去執行test.php這個(gè)php文件,和上面的contab一樣,繞過(guò)了服務(wù)器環(huán)境,執行效率也比較高。寫(xiě)好之后,點(diǎn)擊保存,關(guān)閉編輯器。

  接下來(lái)就是設置定時(shí)任務(wù)來(lái)運行cron.bat。依次打開(kāi):“開(kāi)始–>控制面板–>任務(wù)計劃–>添加任務(wù)計劃”,在打開(kāi)的界面中設置定時(shí)任務(wù)的時(shí)間、密碼,通過(guò)選擇,把cron.bat掛載進(jìn)去。確定,這樣          一個(gè)定時(shí)任務(wù)就建立好了,在這個(gè)定時(shí)任務(wù)上右鍵,運行,這個(gè)定時(shí)任務(wù)就開(kāi)始執行了,到點(diǎn)時(shí),就會(huì )運行cron.bat處理,cron.bat再去執行php。

  2、自由選擇時(shí)間

  常用的博客系統wordpress有一個(gè)wp-corn文件來(lái)執行博客的定時(shí)發(fā)送,博主以wp-corn為原型編寫(xiě)了一個(gè)文件。

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

  博主做項目的時(shí)候公司提供的是一臺windows服務(wù)器。采用的方法是在服務(wù)器上打開(kāi)一個(gè)頁(yè)面,每分鐘自動(dòng)刷新一次(簡(jiǎn)單的js腳本,不再提供代碼)。

【PHP定時(shí)發(fā)送服務(wù)的解決辦法】相關(guān)文章:

PHP郵件發(fā)送驗證08-21

PHP的GET和POST請求發(fā)送方法09-27

使用PHP發(fā)送郵件的兩種方法06-24

PHP實(shí)現定時(shí)任務(wù)的幾種方式和詳解09-13

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

php使用curl發(fā)送json格式數據實(shí)例07-08

PHP如何用curl發(fā)送GET和POST請求09-07

Apache連接PHP后無(wú)法啟動(dòng)的解決辦法09-01

PHP構建監視服務(wù)的方法06-19

一级日韩免费大片,亚洲一区二区三区高清,性欧美乱妇高清come,久久婷婷国产麻豆91天堂,亚洲av无码a片在线观看