- 我们按照laravel的官方文档写得定时任务,配置的是
** * * * php /your-project/artisan schedule:run >> /dev/null 2>&1
- 在本地我们手动可以执行定时任务,服务器上面我们也能手动执行,就是无法自动执行
查看定时任务执行情况
tail -f /var/log/cron
我们就能看到正在执行的定时任务,可以清楚的看到我们定义的定时任务没有没执行
定时解决
出现这个原因是因为linux中不止一个php,单独使用php无法识别php执行文件,这样就造成了手动可以执行,定时crontab无法识别,需要去找到当前php执行文件
whereis php
- 注意:laravel的command需要关闭proc_open、proc_get_status函数禁用。
通过上面的方法我们找到了执行的php路径,我们就使用执行的php路径,不使用文档php
** * * * /usr/local/php/bin/php /your_project/artisan schedule:run >> /dev/null 2>&1
crontab -e
写进定时器,使用上面的查看定时运行情况,查看我们的定时器是否正在执行,如果执行,就会实时打印执行语句