我正在尝试在macOS和使用MAMP在本地托管的站点上运行cron作业。
我尝试了各种选择,但无济于事;请看下面:
*/1 * * * * php http://mylocalsite.com/cron/my_function
*/1 * * * * /usr/bin/curl –silent –compressed http://mylocalsite.com/cron/my_function
*/1 * * * * /usr/bin/curl --silent --compressed http://mylocalsite.com/cron/my_function
*/1 * * * * /Applications/MAMP/bin/php/php7.1.12/bin/php http://mylocalsite.com/cron/my_function > /dev/null 2>&1
*/1 * * * * wget --no-check-certificate -O- https://mylocalsite.com/cron/my_function >> /dev/null
当我在终端中运行以下命令时,它确实起作用:
wget --no-check-certificate -O- https://mylocalsite.com/cron/my_function >> /dev/null
我知道URL已执行我想要的功能,因为我已经直接在浏览器中对其进行了测试。
我做错了什么,应该如何在crontab中查验/运行指定的URL?
答案 0 :(得分:1)
CodeIgniter手册建议可以通过命令行运行CodeIgniter。
他们编写以下脚本:
<?php
class Tools extends CI_Controller {
public function message($to = 'World')
{
echo "Hello {$to}!".PHP_EOL;
}
}
他们依次在服务器上执行以下脚本:
$ cd /path/to/project;
$ php index.php tools message
其中的工具表示控制器,并向其发送消息。
因此,在这种情况下,crontab条目将变为:
*/1 * * * * cd /path/to/project; php index.php tools message
在问题中概述的情况下:
*/1 * * * * cd /path/to/project; php index.php cron my_function
答案 1 :(得分:0)
我想做的是:
brew install php@version
(我使用php@7.4))安装了php brew install crontab
crontab -l
,这将打开一个vim编辑器。如果您似乎无法输入任何内容,请按【{1】】键。然后开始输入以下命令:
i
*/1 * * * * cd /path/to/project; php index.php
,然后输入:
,然后输入以保存并退出vim,使其成为wq
:wq
检查cronjob