Laravel-任務調度
標簽(空格分隔):php
簡介
Cron 是 UNIX、SOLARIS、LINUX 下的一個十分有用的工具,通過 Cron 腳本能使計划任務定期地在系統后台自動運行。這種計划任務在 UNIX、SOLARIS、LINUX下術語為 Cron Jobs。Crontab 則是用來記錄在特定時間運行的 Cron 的一個腳本文件,Crontab 文件的每一行均遵守特定的格式:

我們可以在服務器上通過 crontab -e 來新增或編輯 Cron 條目,通過 crontab -l 查看已存在的 Cron 條目。更多關於 Cron 的原理和使用細節請自行百度或 Google。
在以前,開發者需要為每一個需要調度的任務編寫一個 Cron 條目,這是很讓人頭疼的事。你的任務調度不在源碼控制中,你必須使用 SSH 登錄到服務器然后添加這些 Cron 條目。
Laravel 命令調度器允許你流式而又不失優雅地在 Laravel 中定義命令調度,並且服務器上只需要一個 Cron 條目即可。任務調度定義在 app/Console/Kernel.php 文件的 schedule 方法中,該方法中已經包含了一個示例。
開啟調度器
下面是你唯一需要添加到服務器的 Cron 條目,如果你不知道如何添加 Cron 條目到服務器,可以考慮使用諸如 Laravel Forge 這樣的服務來為管理 Cron 條目:
* * * * * php /path-to-your-project/artisan schedule:run >> /dev/null 2>&1
該 Cron 將會每分鍾調用一次 Laravel 命令調度器,當 schedule:run 命令執行后,Laravel 評估你的調度任務並運行到期的任務。
1 添加Cron到服務器
crontab -e 進入編輯模式 添加下面的內容:
* * * * * /usr/local/php/bin/php /home/wwwroot/web.laravel.cn/artisan schedule:run >> /dev/null 2>&1
* * * * * 時間
/usr/local/php/bin/php : 你自己php的環境 [whereis php]
/home/wwwroot/web.laravel.cn/artisan : artsian目錄
schedule:run >> /dev/null 2>&1 : 固定寫法
2 創建文件
php artisan make:console LogInfo [自定義文件名] 如果報錯則運行 php artisan make:command
成功后文件位置在 : app\console\Commands\LogInfo.php
3 完善文件 注冊文件
在 handle方法里寫你的功能
在 app\console\kernel.php
4 執行
php artisan schedule:run
開啟 proc_open() 函數
開啟 proc_get_status() 函數
執行成功
記錄日志效果
proc_open() proc_get_status()
修改 phpini文件 在disabled 里 去掉這兩函數