无法通过 cron [laravel 5.2] 运行工匠命令


Unable to run artisan command via cron [laravel 5.2]

我正在尝试从 cron 任务运行工匠命令,但我不断收到错误。

在 Plesk 中,我创建了这个任务:

php /var/www/vhosts/domainxxx.co.uk/httpdocs/artisan schedule:run 

我正在尝试运行队列

但是我收到错误

Could not open input file: php /var/www/vhosts/domainxxx.co.uk/httpdocs/artisan schedule:run

如果我从 httpdocs 目录中php artisan schedule:run运行命令,它可以工作。

我已经尝试了 php 路径和完整路径的大量组合,但似乎没有任何效果。

我做错了什么?

弄我在 httpdocs 中创建一个名为 crontest.php 的测试脚本,它只是回显了一个状态。我可以使用以下命令使用 cron 运行它:

 /usr/bin/php /var/www/vhosts/domainxxx.co.uk/httpdocs/crontest.php

我得到的日志显示为域用户而不是根用户 - 不知道这是否有区别?我可以在收到的通知中看到测试输出。

将其切换为:

/usr/bin/php /var/www/vhosts/domainxxx.co.uk/httpdocs/artisan schedule:run 1

我收到错误:

/usr/bin/php: No such file or directory

困惑 - 此错误是否与 php 或 artisan 有关(假设 artisan 因为它适用于 tst 脚本)。谁能帮忙。工匠肯定在那里:(

我遇到了完全相同的问题。使用指向简单 php 脚本的简单 cron 是有效的。所以我要做的是,首先CD到正确的目录。将我自己的路径与您的路径切换,完整的 cronjob 如下所示:

cd /var/www/vhosts/domainxxx.co.uk/httpdocs/; /usr/bin/php -q -f /var/www/vhosts/domainxxx.co.uk/httpdocs/artisan schedule:run > /dev/null 2>&1

对我来说,这不是 laravel或工匠的错误,而只是 cronjob 本身。

经过大量搜索和反复试验,与域的"系统用户"SSH设置有关的问题。

我设法在根用户cron("系统范围")中成功创建了任务。这很有效,因此在大量挖掘必须为运行 cron 作业的用户设置 SSH 访问权限之后,这很有效 - 假设已经具有访问权限

设置后,文件和文件夹变得可访问,cron 作业现在成功运行 - 噗!

感谢您的帮助 罗恩·布劳威尔斯