您好我制作了一个Joomla插件,它可以获取一些外部内容并将其保存在HTML文件中。想知道是否可以定期自动执行此插件。
如果是,那么过程是什么?
或者另一种方法是可以将此脚本放在某个文件中并定期自动执行。
请帮助。
答案 0 :(得分:4)
# m h dom mon dow command
30 * * * * /usr/bin/php /OBFUSCATED/PATH/TO/MY/SCRIPT/listupdater.php
要进行此设置,您需要SSh访问您的服务器,并从命令行键入
crontab -e
您可能想要了解如何在vi风格的编辑器中进行编辑...
答案 1 :(得分:0)
Joomla是PHP,PHP不会定期执行。您需要从外部进程触发它。幸运的是,所有现代操作系统都为您提供了实现此目的的方法。它可以是一个cron作业(对于类似unix的操作系统)或一个预定任务(windows)。
您最想要的是添加一个执行页面(php <name of script>
)的命令行PHP脚本。 Joomla非常依赖GET参数来进行路由...所以你可能想要考虑运行它不是作为Joomla插件,而是作为任意代码坐在.php文件中,同时仍然使用Joomla框架。或者写一个Joomla的index.php的替代方法,它用$ _GET填充路由到你的插件可以做的事情的页面所需的值。
或者,您可以创建一个加载每个请求的插件,该插件检查(通过文件或数据库字段)是否最近运行并且如果它不必执行任何操作则立即返回。当然这不太准确:它取决于稳定的综合浏览量。如果访问者恰好是请求触发此类维护工作的页面的访问者,则会导致访问者延迟。