laravel 11接口返回Deprecated怎么处理

今天玩了下laravel 11,但是发现装了 overtrue/flysystem-qiniu.

接口就会多返回一些东西:

<br/><b>Deprecated</b>:  Qiniu\Config::__construct(): Implicitly marking parameter $z as nullable is deprecated, the explicit nullable type must be used instead in <b>/www/wwwroot/tasklist.localhost/vendor/qiniu/php-sdk/src/Qiniu/Config.php</b> on line <b>44</b><br/>{
    "success": true,
    "message": "\u9a8c\u8bc1\u7801\u53d1\u9001\u6210\u529f",
    "debug_code": "123456"
}

这怎么处理

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
讨论数量: 8

这个错误是 PHP 8.1 + 环境下的兼容性问题,具体是七牛云 PHP SDK 的构造函数参数没有显式声明可为空(nullable),导致 PHP 发出弃用警告。虽然 API 返回了成功响应,但这个警告需要修复以确保代码在未来版本的 PHP 中正常运行。

问题原因

在 PHP 8.1 及更高版本中,如果你有一个构造函数参数默认值为null,必须显式声明该参数为?type(即可为空类型),否则会触发弃用警告。例如:
错误写法(PHP 8.1 + 会警告):

public function __construct($param = null) {} // 未显式声明类型

正确写法:

public function __construct(?string $param = null) {} // 显式声明可为空

更新七牛云 SDK 到最新版本

3个月前 评论
wongvio (楼主) 3个月前
Rache1 3个月前
wongvio (楼主) 3个月前
Rache1 3个月前
Epona

看看升级七牛包试试

3个月前 评论
wongvio (楼主) 3个月前

是不是php版本过高?例如php8.4降到php 8.3看看

3个月前 评论

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