Laravel 5.2 - 共享托管中的计划 Cron 作业
Laravel 5.2 - Scheduled Cron Job in Share Hosting
我为我的 post 添加创建了一个计划,在到期日期后将可见更改为零 "false"。
我的内核
$schedule->call(function () {
foreach(Post::all() as $post)
{
if(Carbon::now() > $post->expire_date){
$s = new Post;
$data = array(
'visible' => 0,
);
$s->where('id', '=', $post->id)->update($data);
}
}
})->everyMinute();
当我在本地执行命令时:
php artisan schedule:run
效果很好!但在我的主机中它不起作用!我尝试像这样向我的共享主机添加工作:
php /home/dixardin/public_html/regalo/regalo/laravel/artisan schedule:run >> /dev/null 2>&1
文件夹结构如图:
在我的文件夹 laravel 中,我有 artisan 文件。
尝试php-cli /home/dixardin/public_html/regalo/regalo/laravel/artisan schedule:run >> /dev/null 2>&1
可能有两个错误
- PHP版本
- 调试
你可以试试把php /home/dixardin/public_html/regalo/regalo/laravel/artisan schedule:run >> /dev/null 2>&1
中的php
换成php70
。也许虚拟主机有 php 7(或其他版本)未将其重命名为 php.
您可以在调试中查看生成了什么样的错误。 php /home/dixardin/public_html/regalo/regalo/laravel/artisan schedule:run
将是新命令。
希望这有效!
我为我的 post 添加创建了一个计划,在到期日期后将可见更改为零 "false"。
我的内核
$schedule->call(function () {
foreach(Post::all() as $post)
{
if(Carbon::now() > $post->expire_date){
$s = new Post;
$data = array(
'visible' => 0,
);
$s->where('id', '=', $post->id)->update($data);
}
}
})->everyMinute();
当我在本地执行命令时:
php artisan schedule:run
效果很好!但在我的主机中它不起作用!我尝试像这样向我的共享主机添加工作:
php /home/dixardin/public_html/regalo/regalo/laravel/artisan schedule:run >> /dev/null 2>&1
文件夹结构如图:
在我的文件夹 laravel 中,我有 artisan 文件。
尝试php-cli /home/dixardin/public_html/regalo/regalo/laravel/artisan schedule:run >> /dev/null 2>&1
可能有两个错误
- PHP版本
- 调试
你可以试试把
php /home/dixardin/public_html/regalo/regalo/laravel/artisan schedule:run >> /dev/null 2>&1
中的php
换成php70
。也许虚拟主机有 php 7(或其他版本)未将其重命名为 php.您可以在调试中查看生成了什么样的错误。
php /home/dixardin/public_html/regalo/regalo/laravel/artisan schedule:run
将是新命令。
希望这有效!