[英]Laravel + Crontab not working
我正在嘗試在 Laravel 中設置調度程序。
這是我的 crontab,我調試過它並且工作正常 - 至少我的 cron 工作
* * * * * /bin/echo "foobar" >> /my_path/example.txt
我不知道這個是否有效:
* * * * * php /var/www/myproject/artisan schedule:run 1>> /dev/null 2>&1
這是我在 Kernel 中的時間表 function:
protected function schedule(Schedule $schedule)
{
$schedule->command('inspire')
->everyMinute();
}
當我在我的項目中並嘗試php artisan inspire
它確實有效時,所以我希望它每分鍾都會觸發,但它不會做任何事情。 什么都沒發生。
有任何想法嗎?
這部分只是將輸出遺忘,所以你永遠不會看到它:
>> /dev/null 2>&1
為什么不試試:
* * * * * php /var/www/myproject/artisan schedule:run >> /my_path/example.txt
並檢查 cron 是否在/my_path/example.txt 中運行
默認的inspire 命令本質上只是echo 的引用,因此在cron 中查看它的唯一方法是將其輸出到服務器上的文件。
您可以使用類似於以下內容的方法執行此操作:
$schedule->command('inspire')->everyMinute()->appendOutputTo($filePath);
我也在使用 laravel 4.2,這是我目前運行良好的 Cron 命令。
0 0 * * * /usr/local/bin/php /*****/******/public_html/artisan command:firemyevent
希望它會幫助你。
你應該嘗試一些東西
像 * * * * * cd /Path/TO/YOUR_PROJECT/ && php artisan schedule:run >> /dev/null 2>&1
我通過以下方式使其在 mac 中運行:
* * * * * cd /Applications/XAMPP/xamppfiles/htdocs/rcraze && /usr/local/bin/php artisan schedule:run >> /dev/null 2>&1
您必須輸入 PHP 的完整路徑(您可以通過 MAC 終端中的whereis php
命令獲取它)並拉取您的項目路徑。
就我而言,在我的 cron 工作中,我必須明確指出與 laravel 兼容的 php 版本:
cd /path/to/my/project && /usr/local/bin/ea-php71 artisan schedule:run > /dev/null 2>&1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.