本文实例分析了PHP文件的自动运行方法。分享给大家供大家参考,具体如下:
这里分析两种方法:
第一种方法:
a.php文件内容 如下:
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(); // 后台无阻断运行
set_time_limit(0); // 一直给我运行
$zhoz_execute_time = 30; // 运行时间seconds,这里设置成一分钟跑一次。
do {
// 这里想执行什么都可以写了
error_log ( "a is do !!!!----------" ,0);
sleep( $zhoz_execute_time ); // 按指定轨道时间运行
} while (true);
?>
|
但这里有个缺点,需要先运行一下这个PHP文件,如通过url运行:http://www.zhoz.com/zhoz.php
这里只要执行一次就可以了,然后关闭页面。
另外,当Apache/IIS重启后,这个脚本就不会执行了。
为此,我又想到了另外一个方法:
在cmd下运行:
1
|
php-win.exe -c "c:\php\php.ini" -f C:\Apache2.2\htdocs\a.php
|
(这里也只要运行一次,运行多了时间会缩短运行的。)
这样的话,即使怎么重启Apache/IIS这个脚本仍然会运行的。
还有缺点:重启机器或杀死进程php-win.exe,当然它就不能跑了……
这个解决办法,可以添加启动项里作成bat应该是可以完美解决!
第二种方法:
b.php内容:
1
2
3
4
5
|
<?php
$fp = fopen ( "c:\\test\\a.txt" , "a+" );
fwrite( $fp , "测试\r\n" );
fclose( $fp );
?>
|
然后写一个bat文件,在其中写入:
1
|
c:\php\php -c c:\php\php.ini -f c:\Apache2.2\htdocs\b.php
|
保存
然后使用那个at 命令将其加入的计划任务中
希望本文所述对大家PHP程序设计有所帮助。