在PHP中使用cron管理器
我想在我的php应用程序中添加一个部分来添加/删除计划任务 类似于他们在vBulletin论坛中使用的内容 有人知道他们用什么吗?他们是在使用cron作业还是做了一些定制的工作 有谁能指导我如何完成类似的事情吗?基本上,我只想让我的脚本添加或删除cron作业/计划任务 例如,我不想使用cPanel Cron接口,我想在脚本中实现这一点 非常感谢您的帮助。 是一个php类,允许您使用类从php访问crontab。我相信vBulletin“伪造”了cron作业。任何访问该页面的用户都会执行代码,检查是否需要运行任何任务 但是,如果没有用户访问该网站,则不会执行任何cron作业,该方法100%依赖于页面视图 此外,为了防止在执行cron作业的用户上延迟页面呈现,他们在页面呈现后被执行 同样,这正是我认为正在发生的事情,我自己还没有看过代码在PHP中使用cron管理器,php,cron,Php,Cron,我想在我的php应用程序中添加一个部分来添加/删除计划任务 类似于他们在vBulletin论坛中使用的内容 有人知道他们用什么吗?他们是在使用cron作业还是做了一些定制的工作 有谁能指导我如何完成类似的事情吗?基本上,我只想让我的脚本添加或删除cron作业/计划任务 例如,我不想使用cPanel Cron接口,我想在脚本中实现这一点 非常感谢您的帮助。 是一个php类,允许您使用类从php访问crontab。我相信vBulletin“伪造”了cron作业。任何访问该页面的用户都会执行代码,检查
希望这能有所帮助。如果您没有启用
exec()
功能,您必须依靠通过某些界面手动设置至少一个cron作业,然后在脚本中管理单个作业
例如,我所做的是
heartbeat.php
,每分钟执行一次crontab
,并检查是否有任何带有time\u to\u process run()
的行(作业)使其运行crontab
表处理它的重新调度然后,您可以在PHP中实现失败作业的自动重置和许多其他功能。下面是一个PHP crontab类: 使用这些方法添加、编辑或删除cron作业。以下是我的解决方案:-) 来自命令行的示例:
bin/cronman --enable /var/www/myproject/.cronfile --user www-data
点击查看更多信息:正如链接的帖子所说,cron的行为可能因机器而异。如果您的php脚本以用户“apache”的身份运行,那么您必须确保允许用户使用crontab,这涉及到定位cron.deny和cron.allow文件man crontab'(如果您有shell访问权限)可以告诉您在哪里找到这些文件以及如何解释它们。。。但是,如果您要将代码打包以在未知环境中部署,您可能需要像evolve的回答中那样“伪造”。@grossvogel我使用了这个库php corntab manager,但我得到了内部服务器错误,有没有其他方法可以从php脚本中调用start或stop cron jobs(谢谢:)这几乎就是我所需要的,尽管我不想触碰cron的cPanel界面,但我认为最好的解决方案是做一些类似于您所说的事情;但是,与其先手动创建cron,不如在用户执行对页面的请求时,从网站页面中调用cron-manger脚本。我想我现在肯定vBulletin也不使用cron,因为他们也必须依赖于在我的主机上被禁用的exec(),然而vBulletin仍然可以使用这些调度器的全部功能。即使它100%依赖于页面浏览量,你也可以随时安排cronjob访问网站。。。。。