如何在macOS本地MAMP环境配置Silverstripe任务的Cron Job?
macOS MAMP PRO环境下Silverstripe任务Cron Job配置修复方案
我在线上服务器已配置好每日执行Silverstripe任务的Cron Job,可用命令如下:
30 6 * * 1-7 /usr/bin/php56-cli /var/home/mysite/framework/cli-script.php dev/tasks/MyTask > /dev/null 2>&1
但在macOS的MAMP PRO 5.7本地环境配置时遇到问题:
- 最初添加的Cron命令:
* * * * * /Applications/MAMP/bin/php/php7.4.2/bin/php http://localhost/mysite/dev/tasks/MyTask > /dev/null 2>&1
- 已为
/usr/sbin/cron授予全磁盘访问权限,但收到Cron Daemon错误邮件:Could not open input file: http://localhost/mysite/dev/tasks/MyTask(该任务在浏览器中可正常运行)
错误原因
CLI模式下运行PHP时,不能直接传入HTTP URL作为执行文件,PHP需要读取本地文件路径。线上的可用命令也是通过调用Silverstripe的cli-script.php本地文件来执行任务,而非直接访问URL。
正确配置命令
参考线上命令的结构,本地环境的正确Cron命令如下:
* * * * * /Applications/MAMP/bin/php/php7.4.2/bin/php /Applications/MAMP/htdocs/mysite/vendor/silverstripe/framework/cli-script.php dev/tasks/myTask > /dev/null 2>&1
内容的提问来源于stack exchange,提问作者seppzzz
相关产品推荐
相关产品推荐

