php - 无法通过 cron [laravel 5.2] 运行 artisan 命令

标签 php laravel cron centos

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

在 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

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

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

我究竟做错了什么?

我在 httpdocs 中创建了一个名为 crontest.php 的测试脚本。这只是呼应了一个状态。我可以使用以下命令通过 cron 运行它:
 /usr/bin/php /var/www/vhosts/domainxxx.co.uk/httpdocs/crontest.php

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

将此切换为:
/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 脚本)。任何人都可以帮忙吗? artisan 肯定在那里:(

最佳答案

我有完全相同的问题。使用一个简单的 cron 指向一个简单的 php 脚本就可以了。所以我必须做的是第一张 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 或 artisan 不是错误,而实际上只是 cronjob 本身。

关于php - 无法通过 cron [laravel 5.2] 运行 artisan 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36055785/

相关文章:

ruby-on-rails - 有没有办法在没有 cron 的情况下在设定的时间运行作业,比如预定队列?

python - 将 cron 语法以分钟为单位转换为 python 中的计划间隔

javascript - 在 JavaScript 中使用 ACF 图像字段

php - mysql_query 在最新的 php 版本中不起作用

php - 在 PHP 中使用 Curl

php - 设置多个类来表示真实世界的对象

php - 图像未在网页中显示(PHP 与 Laravel),其他代码工作 100% 正常

javascript - AngularJS http.jsonp 请求 .then 和 .success 函数不起作用

javascript - 如何从laravel Blade循环获取jQuery的变量类名

linux - 我可以在 cron 文件中添加源语句吗?