关于不建议在注册日期声明中使用整数的解决办法

初学者暂且先不深究这个包为什么不赞成使用整数的问题。
进入php artisan tinker后,试图运行以下命令:

$user = User::first();Auth::guard('api')->login($user);

得到一个报错:

PHP Deprecated:  Using integers for registered date claims is deprecated, please use DateTimeImmutable objects instead. in /home/vagrant/code/larabbs/vendor/lcobucci/jwt/src/Builder.php on line 169

由报错可知是这个包的问题:lcobucci/jwt。
遂前往packagist.org/搜索tymon/jwt-auth包,因为是这个包附带安装的lcobucci/jwt包。

关于jwt-auth报错 PHP Deprecated:  Using integers for registered date claims is deprecated, please use DateTimeImmutable objects instead.的解决办法
上图中,该包限制^3.2,意思是3.2 < 现有版本 < 4.0, 1.1.0-rc.5版本在此刻装的lcobucci/jwt版本号3.4.5。
经过一番搜索,大致原因是因为3.4以上版本做了重大修改,我们使用3.3.3版本即可,但是我直接安装3.3.3版本时,会报如下错误:

Generating optimized autoload files
PHP Parse error:  syntax error, unexpected '/', expecting end of file in /home/vagrant/code/larabbs/vendor/composer/autoload_files.php on line 44

干脆把vendor目录删掉,composer.json以及composer.lock恢复到该节课的git版本,重新运行composer install重装,然后安装1.0.2版本,安装该版本的原因如下图:

composer require tymon/jwt-auth 1.0.2

关于jwt-auth报错 PHP Deprecated:  Using integers for registered date claims is deprecated, please use DateTimeImmutable objects instead.的解决办法
,安装完后,再重新走一遍该节的教程,一切正常。
至于这个包产生差异的根本原因,留待以后熟练之后再从根源寻找解决办法。

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!