开始使用cron作业和PHP(Zend框架)

开始使用cron作业和PHP(Zend框架),php,zend-framework,cron,queue,scheduled-tasks,Php,Zend Framework,Cron,Queue,Scheduled Tasks,我对cron-jobs这个话题完全陌生,所以我不知道从哪里开始学习;何时、为什么或如何将它们与我的Zend Framework应用程序或PHP一起使用 谁能用一个例子来解释这个过程,或者推荐一些好的资源来开始呢?Cron jobs是一种在Linux操作系统中自动执行任务的机制。与Zend框架几乎没有什么关系。不过,该框架可以帮助您在php中开发高级cron任务。但是,您必须在shell中设置cron作业 谷歌搜索“如何设置cron作业”在顶部显示了以下链接: 我相信这篇文章会对你有所帮助 附言

我对cron-jobs这个话题完全陌生,所以我不知道从哪里开始学习;何时、为什么或如何将它们与我的Zend Framework应用程序或PHP一起使用


谁能用一个例子来解释这个过程,或者推荐一些好的资源来开始呢?

Cron jobs是一种在Linux操作系统中自动执行任务的机制。与Zend框架几乎没有什么关系。不过,该框架可以帮助您在php中开发高级cron任务。但是,您必须在shell中设置cron作业

谷歌搜索“如何设置cron作业”在顶部显示了以下链接:

我相信这篇文章会对你有所帮助

附言

作为要执行的命令,您应该放置如下内容:

/usr/local/bin/php-f

其中第一个路径是php cli可执行文件的完整路径,在您的计算机上可能会有所不同。您可以通过发出以下命令来确保:

哪个php


祝cron jobs好运;)

由于Zend框架是松散耦合组件的集合,因此您可以在每个PHP脚本(包括CLI脚本)中使用您喜欢的组件。不过,您必须确保PHP可以找到相关的Zend Framework类,因此您必须将Zend Framework库路径添加到
include\u路径中。然后,您可以使用
Zend_Loader\u Autoloader
(ZF>=1.8)或
Zend_Loader
(ZF<1.8)设置自动加载,以简化操作。现在,您应该可以随意访问所有Zend Framework组件

与其他所有脚本或程序一样,这个PHP脚本可以自然地用于cron作业。还要注意的是,您必须确保运行cron作业的用户具有对Zend框架库路径的读取权限,否则PHP无法读取Zend框架文件

如果您的问题是针对在CLI脚本中使用MVC组件的,我必须承认我在这方面没有任何经验。我认为必须做出不可忽视的努力来实现适当的请求、响应、distpachter和路由类

编辑:


有关更多信息,请参阅。

您可能也对

感兴趣,也许现实生活中的例子会有所帮助。几年前,我使用Zend框架进行了一个事件日历项目。在此日历中,用户可以创建一个事件并将一个或多个日期附加到该事件。当然,我在数据库中实现了多对一的连接,但这意味着为了附加日期,事件必须首先存在。但是,我希望允许用户在创建事件时添加日期,而不是在创建事件后添加日期。换句话说,我希望用户同时编辑事件的所有方面,并仅在单击“保存”时提交

我通过在用户开始创建事件记录时将新的空事件记录插入数据库来解决这个问题。此空记录在用户单击“保存”时填写并保存,或在用户单击“取消”时删除。当用户导航离开而没有单击“取消”时,出现了问题,并且空事件记录留在了数据库中。最终,数据库将填满这些毫无意义的空事件,事情可能会变得糟糕

我编写了一个名为“maintenance()”的函数,其中包括删除所有超过24小时的未保存记录。我设置了一个每晚运行的cron作业,并执行了一个运行maintenance()的命令行php脚本

您可以使用cron作业进行的其他操作:

  • 向新用户发送一批电子邮件。(每5分钟?)
  • 更新用户统计信息(每小时?)
  • 在服务器不受流量影响的情况下执行资源密集型操作(每晚午夜,或每周一次周日晚?)
  • 响应用户请求时未发生的任何其他事件(Jeff称之为“带外”)

这里有一个链接,指向使用Zend Framework实现cron系统的好方法:


就个人而言,我已经对其进行了调整,使参数可以是动态的,但基础是相同的:-)

是的,我实际上对此很感兴趣。非常感谢。