我的Kernel.php
中有以下方法(当然是Console
下的方法):
protected function schedule(Schedule $schedule)
{
$schedule->exec("touch lorem.txt")->everyMinute();
}
并且我通过cpanel添加了以下cronjob:
* * * * * cd /home/oeit/oe && php artisan schedule:run >> /dev/null 2>&1
我应该在磁盘中看到一个lorem.txt
文件。但是,当我使用find / -name "lorem.txt"
搜索该文件时,该文件没有出现,这使我相信我的cronjob无法正常工作。我在共享主机上。
我该如何解决?
答案 0 :(得分:1)
我必须为php可执行文件指定完整路径:
* * * * * cd /home/oeit/oe && /usr/local/bin/php artisan schedule:run >> /dev/null 2>&1
答案 1 :(得分:0)
如果您使用共享主机,则很有可能正在运行它,但是您无权在服务器上使用$schedule->exec
。
我将查看storage/logs/laravel.log
文件,看看是否有任何错误。