PHP 有什么工具能做定时任务
PHP中文网
PHP中文网 2017-04-10 16:12:20
[PHP讨论组]

好比我每隔12个小时就爬一次我的订单状态

PHP中文网
PHP中文网

认证0级讲师

全部回复(15)
阿神

1、后台执行PHP脚本,常驻内存

一个PHP开发的类库 system_daemon

ignore_user_abort(true);//忽略abort
set_time_limit(0);// 无限制的执行下去
$interval=60*30; 
do{
    //ToDo  
    sleep($interval);
}while(true);

2、linux上的计划任务(crontab)定时执行,比如Laravel Scheduler

00 */2 * * * /usr/local/bin/php /data/www/script.php

3、用C、Go等其他语言,写一个守护进程(Daemon)

这个要看研发实力了

What's the better way?

PHP中文网

最简单的办法就是写shell脚本,用脚本来执行php 脚本。很多框架都有任务调度功能,比如Lavarl 你可以参考。

天蓬老师

其实可以使用Linux上的Crontab服务来实现定时任务,写个任务脚本,然后使用crontab来定时执行。

传送门:每天一个linux命令:crontab命令

PHPz

slim框架
slim的cli环境
定时执行软件: crontab,计划任务及其他

逻辑代码

$cliEnvironment = new \Slim\Extras\Environment();

$app = new \Slim\Slim(array(
    'environment' => $cliEnvironment
));
$app->get(
    '/hello/:name',
    function ($name) {
        echo "Hello, $name";
    }
);
$app->run();

运行命令

php test.php hello Ahmet
#Output
Hello, Ahmet

定时任务

  • 如前几贴都提到 crontab 这在Linux环境下首推,

  • 如果windows有定时计划或其他软件,

  • OSX有自己的一套定时任务系统(也比较推荐),也可以安装crontab

PHPz

在crontab中添加任务,由Linux系统的cron进程定时执行任务,这个任务脚本同样可以用PHP来写。

crontab -e 添加
# 每隔12小时(12:00,24:00)运行一次脚本.
* */12 * * * /png/www/example.com/cron/tast.php

chmod +x tast.php
#!/png/php/5.4.39NTS/bin/php
<?php
// 这里写你的PHP代码
怪我咯

crontab 没啥好讨论的

PHP中文网

可以在后台开启一个守护进程,监控

PHP中文网

crontab

PHP中文网

用crontab, 然后写个守护进程就可以

PHP中文网

mysql 的存储过程不是挺好吗?

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号