我正在做一个项目,我需要每天晚上运行 12 个不同的 PHP 文件。出于我的目的,其中 11 个文件正在从不同的外部站点提取数据并将其重新格式化为 XML 文件。第 12 个文件,将 11 个 XML 文件组合成一个主 XML 文件。
我最初将这些合并到一个 PHP 文件中,但它太多了,而且一直超时。它们工作正常,按原样分开。
我正在使用 GoDaddy 共享托管计划,并开始设置 cron 作业以每晚运行这些文件。但是,GoDaddy 将您的 cron 作业总数限制为 10 个。
因此,作为替代方案,我在前 10 个文件的底部放置了一个标头重定向(显然最后一个文件不需要重定向),以重定向到下一个文件并运行它。这将 11 个 cron 作业合并为 1 个。
// On to the next
header('Location: http://www.domain.com/secondFile.php');
当时我没有意识到,标头重定向只能在浏览器中工作,而不是在 cron 作业中。我收到一条302 Moved Temporarily消息。
我在这里还有什么其他选择?是否有适用于 cron 作业的重定向?
提供的任何信息表示赞赏。
感谢Barmar的帮助,我现在可以正常工作了。在 GoDaddy 主机上为遇到相同问题的其他人发布格式。
生成xml.sh
#!/bin/sh
/web/cgi-bin/php5 /home/content/u/s/e/username/html/firstFile.php
/web/cgi-bin/php5 /home/content/u/s/e/username/html/secondFile.php
/web/cgi-bin/php5 /home/content/u/s/e/username/html/thirdFile.php
等等