PHP程式自動執行

2021-04-13 09:01:41 字數 2839 閱讀 4445

相信不少讀者(php愛好者)在工作、學習的過程中經常抱怨:在win如何讓php定時自動發信呢??如何讓mysql實現自動備份而無後顧之憂呢??如 果完全依靠手工進行當然也可以實現,但操作上似乎過於繁瑣了一點!別著急,利用系統的任務計畫程式(windows 98稱之為計畫任務)可輕易解決這一問題。這一功能往往被很多使用者忽略或者未曾想到:)。

所謂任務計畫就是由計算機自動呼叫使用者事先設定好的應用程式,從而達到簡化使用者操作的目的。利用windows 2000的任務計畫程式(相當與*nix下的cron程式,這裡不再對其詳述),我們可以安排任何指令碼、程式或文件在最恰當的時候執行,從而滿足自己的需 要。下面以windows 2000為例。

具體來說,我們若需利用任務計畫程式自動執行則應執行如下步驟:

單擊」開始」按鈕,然後依次選擇」程式」→」附件」→」系統工具」→」任務計畫」(或者是」設定」→」控制面板」→」任務計畫」),啟動windows 2000的任務計畫管理程式。 

在」任務計畫」視窗中雙擊」新增任務計畫」圖示,啟動系統的」任務計畫嚮導」,然後單擊」下一步」按鈕,在給出的程式列表中選擇需要自動執行的應用程式,然後單擊」下一步」按鈕。 

設定適當的任務計畫名稱並選擇自動執行這個任務的時間頻率(如每天、每星期、每月、一次性、每次啟動計算機時、每次登入時等),然後單擊」下一步」按鈕。此時系統將會要求使用者對程式執行的具體時間進行設定,如幾號、幾點鐘、哪幾個時間段才能執行等,我們只需根據自己的需要加以設定即可。 

接下來系統將會要求使用者設定適當的使用者名稱及密碼(如圖5所示),以便系統今後能自動加以執行。 

最後,我們只需單擊」完成」按鈕即可將相應任務新增到windows 2000的任務計畫程式中,此後它就會自動」記住」這個任務,一旦系統時間及相關條件與使用者設定的計畫相符,它就會自動呼叫使用者所指定的應用程式,十分方 便(每次啟動windows 2000的時候,任務計畫程式都會自動啟動,並在後台執行,確保使用者的計畫能夠按時執行)。 

現在我們來測試一下剛才所建的任務是否成功,滑鼠右鍵單擊」php」程式圖示(如圖6所示),在彈出的選單裡面選擇」執行」。一般情況下程式圖示只要這樣 啟用執行就可以正常啟動。如果執行失敗可檢視使用者和密碼是否設定正確,還有確定」task scheduler」服務是否已啟動,本人當初就是為了節省系統資源把它關掉了導致執行失敗,害我找了大半天。另外也可從」系統日誌」裡檢視到底是什麼原 因造成執行失敗的。

好了,講了這麼多工計畫的應用,現在我們切入正題,下面將介紹兩個例子:

一、讓php定時執行

編輯如下**,並儲存為test.php:

$fp = @fopen(」test.txt」, 「a+」);

fwrite($fp, date(」y-m-d h:i:s」) . 」 讓php定時執行吧!/n」);

fclose($fp);

?>

新增乙個任務計畫,在(如圖2所示)這一步輸入命令:

d:/php4/php.exe -q d:/php4/test.php

時間設定為每隔1分鐘執行一次,然後執行這個任務。 

現在我們來看看d:/php4/test.txt檔案的內容時候是否成功。如果內容為如下所示,那麼恭喜你成功了。

2003-03-03 11:08:01 讓php定時執行吧!

2003-03-03 11:09:02 讓php定時執行吧!

2003-03-03 11:10:01 讓php定時執行吧!

2003-03-03 11:11:02 讓php定時執行吧!

二、讓mysql實現自動備份

php shell script for the backup mysql database.

usage: 

can be database name you would like to backup.

with the –help, or -? options, you can get this help and exit.

} else 

?>

新增乙個任務計畫,在(如圖2所示)這一步輸入命令:

d:/php4/php.exe -q d:/php4/backup.php databasename

時間設定為每天執行一次,然後執行這個任務。 

最後會在d:/php4/目錄下生成乙個以資料庫名和當前時間組成的rar檔案。 

恭喜你!大功告成了! 

當然備份方式有很多種,讀者可按照自己喜歡的去做!

以上是原著.結合本人實賤,補充說明如下:

如果出現錯誤:

在試著設定任務帳戶資訊時出現錯誤

指定的錯誤是:

0×80070005:拒絕訪問

您沒有執行所請求的操作的許可權

在上面』」4.接下來系統將會要求使用者設定適當的使用者名稱及密碼,以便系統今後能自動加以執行」.這裡最好用」system」使用者,密碼可為空.

這個system的許可權非常之高,比你的administrator還要高,所以你在執行命令的時候千萬不要亂來,這個可是什麼提示都沒有就會無條件執行的,這個許可權下你kill核心程序都行. 

上面2、新增乙個任務計畫,在這一步輸入命令:

d:/php4/php.exe -q d:/php4/test.php

正確形式應為

「d:/php4/php.exe」 -q 「d:/php4/test.php」

即路徑要用雙引號括住. 

PHP程式執行函式

php執行shell命令的函式有一下幾個 escapeshellarg 把字串轉碼為可以在 shell 命令裡使用的引數 escapeshellcmd shell 元字元轉義 exec 執行乙個外部程式 passthru 執行外部程式並且顯示原始輸出 proc close 關閉由 proc open...

linux自動執行程式

linux 的啟動指令碼位於 etc init.d rcs 注rcs中 s是大寫字母 vi etc init.d rcs 進入vi後,按i 編輯.移動上下左右鍵到,你想插入的位置,然後打字。這時跟記事本是一樣的。打完字後,按esc 然後輸入 wq 注,第乙個字元是冒號 也要輸入 就儲存退出了。若想自...

C 程式開機自動執行

void main char system max path 系統目錄路徑 char pathtofile max path 要開機執行的檔案的完整路徑 hmodule getmodh getmodulehandle null 得到當前執行檔案的全路徑 getmodulefilename getmo...