我正在尝试从 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/