小编Pat*_*ick的帖子

Carbon\Carbon类的对象无法转换为int

我已经找到了这个,我确实找到了一些讨论这个问题的话题,但是我觉得这些都不是我想去的方式,所以我希望能在这里得到更好的消化.

我想从上次更新用户时获取时间戳.

$user->updated_at
Run Code Online (Sandbox Code Playgroud)

如果我运行它,它给了我这个错误

Object of class Carbon\Carbon could not be converted to int
Run Code Online (Sandbox Code Playgroud)

这是因为它在Laravel 5.2中返回一个Carbon实例,我只需要时间戳.

Carbon {#303 ?
  +"date": "2017-01-04 00:35:38.000000"
  +"timezone_type": 3
  +"timezone": "UTC"
}
Run Code Online (Sandbox Code Playgroud)

我如何从碳实例中获取"日期",所以我只得到2017-01-04 00:35:38- 我不知道.000000来自哪里,因为这不会出现在数据库中.在MySQL数据库中,它只显示2016-07-20 20:23:07类型timestamp.

希望得到一些指示和建议

php mysql laravel laravel-5.2

9
推荐指数
1
解决办法
5693
查看次数

Laravel Scheduler 和 Cron - Laravel 如何知道不运行基于 daily()、hourly() 等的计划作业

在 Laravel 的内核中,我有:

protected $commands = [
    Commands\SendRenewEmails::class,
];

/**
 * Define the application's command schedule.
 *
 * @param  \Illuminate\Console\Scheduling\Schedule  $schedule
 * @return void
 */
protected function schedule(Schedule $schedule)
{
    // $schedule->command('inspire')
    //          ->hourly();
    $schedule->command('renew:emails')
        ->daily();
}
Run Code Online (Sandbox Code Playgroud)

renew:emails如果我通过 Artisan 手动运行该函数,则上述函数将按预期工作。

在我的 crontab 中我有:

* */8 * * * cd /path-to-my-project && php artisan schedule:run >> /dev/null 2>&1
Run Code Online (Sandbox Code Playgroud)

我让它每 8 小时运行一次,而不是每分钟运行一次* * * * *,因为这是为了测试而进行的,只是为了确保该任务不是每分钟运行一次。

那么Laravel如何知道何时在内核上运行日常工作,以及何时发生?

从这个设置(这似乎是 Laravel 中 cronjobs 的基本设置,但每分钟运行一次而不是每 8 小时运行一次)来看,没有日志(我可以看到),并且数据库中没有表来跟踪这一点。

因此,如果我将 cron 设置为 …

cron laravel

4
推荐指数
1
解决办法
1908
查看次数

使用与HTTP_X_FORWARDED_FOR类似的方法在laravel中获取用户IP地址

我需要获取用户的IP地址”。

我找到了这篇文章如何在Laravel 5.1中获取客户端IP地址?

上述文章使用了 Request::ip();

但是,此方法返回我的服务器IP地址。据我从其他来源了解到,这是在站点为localhost时发生的-但是站点是托管的,并且位于服务器上。

这个站点是在线的并且在线的,但是它可能称为localhost,因为该站点可能位于其自己的服务器上(我没有服务器配置方面的经验,只能知道这是不是真的)。

当我连接到数据库主机时,我也使用localhost引用,而不是使用mysql.phpmyadmin.hosting.com数据库主机。因此,我的猜测是,该Request::ip();返回值返回服务器ip,因为该站点以某种方式位于localhost。

但是,如果我使用$ _SERVER ['HTTP_X_FORWARDED_FOR']; 我得到正确的IP地址。

现在我的最后一个问题使用安全吗?还有使用Laravel函数发出此请求的另一种方法吗?

据我了解,$ _ SERVER ['HTTP_X_FORWARDED_FOR']; 根据如何在PHP中获取客户端IP地址,可能会有安全漏洞

我可以$_SERVER['HTTP_X_FORWARDED_FOR'];安全使用而不必担心吗?如果没有,我可以采取其他方法安全地获得用户IP地址吗?

php laravel

2
推荐指数
1
解决办法
3578
查看次数

标签 统计

laravel ×3

php ×2

cron ×1

laravel-5.2 ×1

mysql ×1