PHP ignore_user_abort 与 connection_status 与 register_shutdown_function 使用方法
2011-05-05 11:13
1216 查看
PHP ignore_user_abort 与 connection_status 与 register_shutdown_function 使用方法
用ignore_user_abort()实现PHP计划任务
语法: int ignore_user_abort(int [setting]);
返回值: 整数
函数种类: PHP 系统功能
内容说明
0 - NORMAL(正常)1 - ABORTED(异常退出)2 - TIMEOUT(超时)
本函数配置或取得使用端连接中断后,PHP 程序是否仍继续执行。默认值为中断连接后就停止执行。
在 PHP 配置文件中 (php3.ini/php.ini) 的 ignore_user_abort 选项就是配置处。本功能在 PHP 3.0.7 版之后才开始提供。
ignore_user_abort,这个函数可以帮助我们实现像linux中的cron一样实现计划任务,用户关掉浏览器后还可以执行。
首先修改你的php.ini,将“; ignore_user_abort = On”的注释去掉,重启一下Apache或IIS。
运用sleep(300)+死循环, 这样就可以实现计划任务了, 这个程序里不要有输出, 有输出容易中断。
缺点: 要停止程序必得重启服务器,占内存大!!
<?php
ignore_user_abort(true);
set_time_limit(0);
while(1){
$fp = fopen('time_task.txt',"a+");
$str = date("Y-m-d h:i:s")."n";
fwrite($fp,$str);
fclose($fp);
sleep(1800); //半小时执行一次
}
?>
PHP代码
<?php
ignore_user_abort(true); // 启用函数
set_time_limit(0); // 无限次数执行脚本
$interval=60*2; // 每两分钟执行一次
do{
// 执行的内容开始
file_get_contents("http://www.liujingze.com/"); // 需要执行的过程
// 执行的内容结束
sleep($interval); // 按设置的间隔时间执行
}while(true);
?>
PHP计划任务实例代码
<?
ignore_user_abort();
set_time_limit(0);
$interval_second = 15;
do{
@$fp = fopen("leapsoulcn.txt","a");
if(!$fp)
{
echo "system error";
exit();
}
else
{
$fileData = "domain"."\t"."www.leapsoul.cn"."\n";
$fileData = $fileData."description"."\t"."PHP网站开发教程网,面向PHP初学者的PHP教程网。"."\n";
$fileData = $fileData."title"."\t"."本教程主要讲述使用ignore_user_abort函数实现PHP计划任务功能。";
fwrite($fp, $fileData);
fclose($fp);
}
sleep($interval_second);
}while(true);
?>
connection_status
取得连接状态。
语法: int connection_status(void);
返回值: 整数
函数种类: 网络系统
内容说明
本函数可返回连接状态。使用时不须输入参数
register_shutdown_function
定义 PHP 程序执行完成后执行的函数。
语法: int register_shutdown_function(string func);
返回值: 整数
函数种类: PHP 系统功能
内容说明
本函数向系统定义 PHP 程序 (Script) 执行结束之后所要执行的函数。当执行该指定的函数时,由于无法看到返回值,因此调试较困难。
用ignore_user_abort()实现PHP计划任务
语法: int ignore_user_abort(int [setting]);
返回值: 整数
函数种类: PHP 系统功能
内容说明
0 - NORMAL(正常)1 - ABORTED(异常退出)2 - TIMEOUT(超时)
本函数配置或取得使用端连接中断后,PHP 程序是否仍继续执行。默认值为中断连接后就停止执行。
在 PHP 配置文件中 (php3.ini/php.ini) 的 ignore_user_abort 选项就是配置处。本功能在 PHP 3.0.7 版之后才开始提供。
ignore_user_abort,这个函数可以帮助我们实现像linux中的cron一样实现计划任务,用户关掉浏览器后还可以执行。
首先修改你的php.ini,将“; ignore_user_abort = On”的注释去掉,重启一下Apache或IIS。
运用sleep(300)+死循环, 这样就可以实现计划任务了, 这个程序里不要有输出, 有输出容易中断。
缺点: 要停止程序必得重启服务器,占内存大!!
<?php
ignore_user_abort(true);
set_time_limit(0);
while(1){
$fp = fopen('time_task.txt',"a+");
$str = date("Y-m-d h:i:s")."n";
fwrite($fp,$str);
fclose($fp);
sleep(1800); //半小时执行一次
}
?>
PHP代码
<?php
ignore_user_abort(true); // 启用函数
set_time_limit(0); // 无限次数执行脚本
$interval=60*2; // 每两分钟执行一次
do{
// 执行的内容开始
file_get_contents("http://www.liujingze.com/"); // 需要执行的过程
// 执行的内容结束
sleep($interval); // 按设置的间隔时间执行
}while(true);
?>
PHP计划任务实例代码
<?
ignore_user_abort();
set_time_limit(0);
$interval_second = 15;
do{
@$fp = fopen("leapsoulcn.txt","a");
if(!$fp)
{
echo "system error";
exit();
}
else
{
$fileData = "domain"."\t"."www.leapsoul.cn"."\n";
$fileData = $fileData."description"."\t"."PHP网站开发教程网,面向PHP初学者的PHP教程网。"."\n";
$fileData = $fileData."title"."\t"."本教程主要讲述使用ignore_user_abort函数实现PHP计划任务功能。";
fwrite($fp, $fileData);
fclose($fp);
}
sleep($interval_second);
}while(true);
?>
connection_status
取得连接状态。
语法: int connection_status(void);
返回值: 整数
函数种类: 网络系统
内容说明
本函数可返回连接状态。使用时不须输入参数
register_shutdown_function
定义 PHP 程序执行完成后执行的函数。
语法: int register_shutdown_function(string func);
返回值: 整数
函数种类: PHP 系统功能
内容说明
本函数向系统定义 PHP 程序 (Script) 执行结束之后所要执行的函数。当执行该指定的函数时,由于无法看到返回值,因此调试较困难。
相关文章推荐
- php ignore_user_abort与register_shutdown_function 使用方法
- php ignore_user_abort与register_shutdown_function 使用方法
- 关于PHP连接处理中set_time_limit()、connection_status()和ignore_user_abort()深入解析
- 关于PHP连接处理中set_time_limit()、connection_status()和ignore_user_abort()深入解析
- PHP register_shutdown_function()函数的使用示例
- PHP register_shutdown_function()函数的使用示例
- PHP错误处理函数register_shutdown_function使用示例
- PHP 错误与异常 笔记与总结(11 )register_shutdown_function() 函数的使用
- PHP register_shutdown_function()函数的使用示例
- 使用register_shutdown_function实现php项目脚本执行失败的实时报警
- [转]php中使用ignore_user_abort()函数后,如何停止后台运行的程序?
- PHP之register_shutdown_function方法
- 如何使用register_shutdown_function()捕获PHP致命错误?
- php中的register_shutdown_function和fastcgi_finish_request
- php ignore_user_abort()实现计划任务功能,实现文件能够在浏览器关掉之后照样运行
- 用php中的ignore_user_abort实现计划任务
- 妙用php中的register_shutdown_function和fastcgi_finish_request
- [php-src]扩展中封装业务与 call_user_function 的使用建议
- PHP很有用的一个函数ignore_user_abort ()
- register_shutdown_function()函数使用