需要用到sleep函数定时从数据库取一堆数据出来去执行某些操作。
sleep等待的时间至少有一个小时以上
此前做过测试
用sleep函数去完成数小时后执行的操作是可行的
可邪门的问题出来了
程序用sleep后发现不能从数据库取到相应的信息
把sleep去掉
结果正常
郁闷中。。。
难道sleep影响读库操作!!!
于是为了方便测试
直接来个sleep(10) 十秒后执行
结果能从数据库读取信息
可为什么sleep()一个小时后不能读取信息呢?
为了测试方便我直接在sleep语句前读库一次,sleep后再读一次库
如:
<?php require_once('include.php'); // 读取数据库信息 $data = $db->getList(); print_r($data); // 定时一个小时以后 sleep(3600); // 再读取一次信息 $data = $db->getList(); print_r($data); ?>
<?php require_once('include.php'); // 读取数据库信息 $data = $db->getList(); print_r($data); // 定时十秒以后 sleep(10); // 再读取一次信息 $data = $db->getList(); print_r($data); ?>
<?php require_once('include.php'); // 读取数据库信息 $data = getList(); print_r($data); // 定时一个小时以后 sleep(3600); // 再读取一次信息 $data = getList(); print_r($data); // 读取数据库信息 function getList(){ $pdo = new PDO('mysql:host=localhost;dbname=test','root','root'); $result = $pdo->query('select * from tables'); return $result->fetchAll(PDO::FETCH_ASSOC); } ?>