使用PHP自动化任务

4

我想知道如何在PHP中安排和自动化任务?我能做到吗?还是需要像cron jobs这样的web服务器功能。

我在想是否有一种方法可以在文件过期或不再需要时删除文件,例如3天后。

3个回答

3

PHP本身不支持自动化任务,您需要自行构建解决方案或在Google上搜索可用的解决方案。如果您有一个经常访问的网站/页面,可以将时间戳添加到数据库中,连接到文件,当在选择的时间(例如早上8点)访问您的网站时,脚本(例如deleteOlderDocuments.php)运行并删除旧文件。

这只是一个想法,希望它能帮助到您。


如果您没有访问 cron 作业的权限,这是我自己会选择的方法,这意味着您不会在每个请求上都对文件系统或数据库进行操作,但也意味着您的任务将得到完成。+1 - Mark Robinson

2

PHP运行在请求-响应模式下,因此,PHP不需要负责启动和执行预定任务。可以使用cron或使您的PHP网站注册cron作业。

(注意:执行作业的脚本当然可以用PHP编写)


1
在大多数共享托管环境中,每个页面请求都会启动一个PHP解释器。这意味着,在该环境中的每个PHP脚本中,脚本所知道的所有内容都只是它正在处理一个请求以及该请求提供的信息。从技术上讲,您可以在PHP中检查当前时间并查看是否需要执行任务,但这取决于用户在给定时间附近请求该脚本。
最好使用cron执行此类任务,特别是如果您需要执行的任务可能较慢--那么,偶尔在某个特定时间,用户可能会出现特别缓慢的响应,因为他们访问脚本导致服务器执行了一整堆计划安排的任务。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接