本文實(shí)例分析了PHP文件的自動(dòng)運(yùn)行方法。分享給大家供大家參考,具體如下:
這里分析兩種方法:
第一種方法:
a.php文件內(nèi)容 如下:
1
2
3
4
5
6
7
8
9
10
11
12
|
<?php ini_set ( "error_log" , "c:\php\php_error.log" ); error_log ( "a.php is execute----------" ,0); ignore_user_abort(); // 后臺(tái)無阻斷運(yùn)行 set_time_limit(0); // 一直給我運(yùn)行 $zhoz_execute_time = 30; // 運(yùn)行時(shí)間seconds,這里設(shè)置成一分鐘跑一次。 do { // 這里想執(zhí)行什么都可以寫了 error_log ( "a is do !!!!----------" ,0); sleep( $zhoz_execute_time ); // 按指定軌道時(shí)間運(yùn)行 } while (true); ?> |
但這里有個(gè)缺點(diǎn),需要先運(yùn)行一下這個(gè)PHP文件,如通過url運(yùn)行:http://www.zhoz.com/zhoz.php
這里只要執(zhí)行一次就可以了,然后關(guān)閉頁面。
另外,當(dāng)Apache/IIS重啟后,這個(gè)腳本就不會(huì)執(zhí)行了。
為此,我又想到了另外一個(gè)方法:
在cmd下運(yùn)行:
1
|
php-win.exe -c "c:\php\php.ini" -f C:\Apache2.2\htdocs\a.php |
(這里也只要運(yùn)行一次,運(yùn)行多了時(shí)間會(huì)縮短運(yùn)行的。)
這樣的話,即使怎么重啟Apache/IIS這個(gè)腳本仍然會(huì)運(yùn)行的。
還有缺點(diǎn):重啟機(jī)器或殺死進(jìn)程php-win.exe,當(dāng)然它就不能跑了……
這個(gè)解決辦法,可以添加啟動(dòng)項(xiàng)里作成bat應(yīng)該是可以完美解決!
第二種方法:
b.php內(nèi)容:
1
2
3
4
5
|
<?php $fp = fopen ( "c:\\test\\a.txt" , "a+" ); fwrite( $fp , "測試\r\n" ); fclose( $fp ); ?> |
然后寫一個(gè)bat文件,在其中寫入:
1
|
c:\php\php -c c:\php\php.ini -f c:\Apache2.2\htdocs\b.php |
保存
然后使用那個(gè)at 命令將其加入的計(jì)劃任務(wù)中
希望本文所述對大家PHP程序設(shè)計(jì)有所幫助。