laravel crontab不执行的问题

最近在写laravel的时候遇到一个定时器的问题

手动的执行 php /usr/share/nginx/html/mylaravel/artisan schedul:run 可以生效

但是写在定时器中却不执行  * * * * * php /usr/share/nginx/html/mylaravel/artisan schedul:run

    先看下代码

/app/Console/Commands/test.php

    1.设置 $signature 属性

protected $signature = 'test:change';
 

    2.handle 函数

public function handle()
{
    //测试 写入文件 路径使用绝对路径
    $handle = fopen("/usr/share/nginx/html/mylaravel/public/xiazai/1.txt","a+");
    fwrite($handle,"test<br/>");
    fclose($handle);

}

/app/Console/Commands/Kernel.php

   1. 设置$commands属性

protected $commands = [
    test::class,
];

    2.schedule函数

protected function schedule(Schedule $schedule)
{
    $schedule->command("test:change")->everyMinute();
}

原因:php的路径并不识别 或者说 crontab 中使用的php的可执行文件 和在脚本中执行的php文件不一样

执行 whereis php

可以发现 当前有不只一个的php执行文件 发现自己在使用的php路径之后 修改 crontab中的配置



crontab -e

* * * * * /usr/local/php7/bin/php /usr/share/nginx/html/mylaravel/artisan schedul:run

解决

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值