我已将我的 laravel 5.1 项目上传到 Plesk 服务器上。 我想在 Plesk 中运行任务调度程序,我在互联网上看到了很多这样做的答案,但似乎没有什么对我有用。
我的 Plesk 任务计划界面
我正在运行计划:像这样运行命令
php /var/www/vhosts/websitename.com/httpdocs/artisan schedule:run 1
并且在 cron 风格中我添加了这个
* * * * *
这样我的 cron 每分钟运行一次
当我单击“立即运行”按钮时,出现错误
$kernel = $app->make(Illuminate\Contracts\Console\Kernel::class);
我在网上搜索,发现很多解决方案都说是PHP版本问题,如果PHP版本小于或等于PHP v5.4就会出错,但我当前的php版本是5.6.30
我无法弄清楚到底是什么问题。 感谢帮助
注意:我还没有在 Kernel.php 文件中添加任何代码
这种使用命令的方式对我来说很好用
/opt/plesk/php/5.6/bin/php /var/www/vhosts/websitename.com/httpdocs/artisan schedule:run
这在 Plesk 中运行正常
尝试使用命令“/opt/plesk/php/5.6/bin/php”而不是“php”
尝试
/opt/plesk/php/7.3.14/bin/php httpdocs/artisan
我已使用此路径“运行命令”:
sh /var/www/vhosts/DOMAIN_NAME/httpdocs/OCMS_PROJECT/cron.sh
并将
cron.sh
文件添加到我的项目中:
#!/bin/bash
cd /var/www/vhosts/DOMAIN_NAME/httpdocs/OCMS_PROJECT/
export $(cat .env | xargs)
alias php='/var/www/vhosts/DOMAIN_NAME/.phpenv/shims/php'
php artisan schedule:run >> CRON.log 2>> CRON.err
这是针对 octobercms 的,它基于 laravel。它还解决了缺少环境变量、缺少 php 路径和错误的 php 运行目录的问题。