PhalconRest\Http\Response::setJsonContent 声明致命错误

PhalconRest\Http\Response::setJsonContent declaration fatal error

最初使用PHP7.1.1和Phalcon 3.4支持API结束。升级 PHP 7.2.24 和 Phalcon 4.0.0 后,我们在调用 API 时遇到了 Phalcon 响应问题。我们主要使用Phalcon-rest来支持API。 下面附上文件结构、源代码和我遇到的问题。请分享您的意见以解决问题。

Fatal error: Declaration of PhalconRest\Http\Response::setJsonContent($content, $jsonOptions = 0, $depth = 512) must be compatible with Phalcon\Http\Response::setJsonContent($content, int $jsonOptions = NULL, int $depth = NULL): Phalcon\Http\ResponseInterface in C:\dev\servicechum_api\vendor\redound\phalcon-rest\src\PhalconRest\Http\Response.php on line 68

您使用的上游包(redound/phalcon-rest)是incompatible with modern PHP versions。错误消息是不言自明的:Response::setJsonContent 方法的实现必须匹配父级,而它不匹配。

根据代码判断,composer.json 中缺少测试、库约束无效(参见 "php": ">=5.4")要么降级 PHP 要么停止使用该软件,但更喜欢后者。