이번 글에서는 기획된 작업과 관련된 내용을 소개하겠습니다. 많은 도움이 되셨으면 좋겠습니다!
예약된 작업
코드는 다음과 같습니다.
ignore_user_abort(); // 用户关闭浏览器程序依然执行 set_time_limit(0); // 不限制程序运行时间 $interval = 3; // 程序循环间隔时间秒 $link = mysql_connect('localhost', 'username', 'paswd'); mysql_select_db('test'); mysql_query("SET NAMES 'utf8'"); do { // 用户关闭浏览器停止 start echo str_repeat(' ', 4069); // php只在输出时才检查用户连接状态. 一些web服务器的output_buffering默认值是4096字符. 为确保flush()有效, 设置为4069. ob_flush(); flush(); // 用户关闭浏览器停止 end $query = "INSERT INTO `test`.`test_demo` (`title`, `content`) VALUES ('计划任务', '" . date("Y-m-d H:i:s", time()) . "')"; mysql_query($query); // 采用写入数据库验证程序 sleep($interval); } while (true);
php 출력이 없으면 사용자는 연결 상태를 감지할 수 없습니다. 브라우저 프로그램을 닫아도 Apache 서비스가 중지되거나 다시 시작될 때까지 계속 실행됩니다.
코드는 다음과 같습니다.
// 用户关闭浏览器停止 start echo str_repeat(' ', 4069); // php只在输出时才检查用户连接状态. 一些web服务器的output_buffering默认值是4096字符. 为确保flush()有效, 设置为4069. ob_flush(); flush(); // 用户关闭浏览器停止 end
추천 학습: "PHP 비디오 튜토리얼"