本文实例分析了PHP文件的自动运行方法。分享给大家供大家参考,具体如下:
这里分析两种方法:
第一种方法:
a.php文件内容 如下:
<?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下运行:
php-win.exe -c "c:\php\php.ini" -f C:\Apache2.2\htdocs\a.php
(这里也只要运行一次,运行多了时间会缩短运行的。)
这样的话,即使怎么重启Apache/IIS这个脚本仍然会运行的。
还有缺点:重启机器或杀死进程php-win.exe,当然它就不能跑了……
这个解决办法,可以添加启动项里作成bat应该是可以完美解决!
第二种方法:
b.php内容:
<?php
$fp=fopen("c:\\test\\a.txt","a+");
fwrite($fp,"测试\r\n");
fclose($fp);
?>
然后写一个bat文件,在其中写入:
c:\php\php -c c:\php\php.ini -f c:\Apache2.2\htdocs\b.php
保存
然后使用那个at 命令将其加入的计划任务中
希望本文所述对大家PHP程序设计有所帮助。