Laravel 예약 작업은 cron을 사용해야 합니다. laravel에서 모든 laravel 작업을 정기적으로 실행하려면 서버에 cron 항목을 추가하고 "phppath 프로젝트 경로/artisan 일정:실행..." 코드를 추가해야 합니다. 루트 파일.
이 기사의 운영 환경: linux7.3 시스템, Laravel 버전 5.4, Dell G3 컴퓨터.
laravel에는 매우 강력한 기능이 있습니다. 모든 laravel 작업을 정기적으로 실행하려면 서버에 cron 항목을 추가하기만 하면 됩니다.
이제 다음과 같은 데이터 테이블이 있습니다.
cron 테이블의 cron 필드 값을 1분마다 1씩 늘리려면 다음 단계가 필요합니다.
1. AppConsoleKernel.php
protected function schedule(Schedule $schedule) { $schedule->call(function () { DB::table('cron')->increment('cron'); })->everyMinute(); }
2. 서비스의 /var/spool/cron/root 파일에 코드를 추가하세요.
참고: 파일을 편집하기 위해 Winscp를 사용하는 경우 vim 편집기를 사용하는 것이 가장 좋습니다. 작업을 실행하지 못하는 문제가 발생합니다.
명령줄에
crontab -e
를 입력하고 다음 코드를 추가하세요.
* * * * * /usr/local/php/bin/php /data/wwwroot/test/artisan schedule:run 1>> /dev/null 2>&1
Enter
crontab -u root -l를 명령줄에
시스템이 /var에 있는 파일을 읽기 때문에 cron 서비스를 다시 시작할 필요가 없습니다. /spool/cron 디렉토리는 매분마다 생성됩니다.
다음 구성에 따라 여전히 실행할 수 없는 경우 다음 방법을 사용하여 문제를 해결할 수 있습니다.
명령이 절대 경로를 사용하는지 확인하세요. 예를 들어 /usr/local/php/를 사용하세요. 여기서는 php 대신 bin/php, artisan 대신 /data /wwwroot/test/artisan을 사용하세요.
절대 경로가 여전히 실행되지 않으면 명령줄 &1에 /usr/local/php/bin/php /data/wwwroot/test/artisan Schedule:run 1>> /dev/null 2> , 실행되는지 확인하고, 실행되지 않으면 라라벨 코드에 문제가 있는 것이며, 실행된다면 경로 문제임을 의미합니다. php가 어디에 있는지 모르는 경우 명령줄에 which php를 입력하면 php가 설치된 위치를 묻는 메시지가 표시됩니다.
【관련 추천: laravel 동영상 튜토리얼】
위 내용은 Laravel 예약 작업은 cron을 사용해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!