将 CakePHP 网站升级到 PHP 7

Upgrading CakePHP web site to PHP 7

我接管了一个为 PHP 5.4 和 Cake2.x 编写的网站。我将 PHP 升级到 7.2,将 Cake 升级到 2.10。现在没有人可以登录了。我开始调试,但我觉得自己掉进了一个兔子洞。在 FormAuthenticate::authenticate(CakeRequest $request, CakeResponse $response) 中是语句 $fields = $this->settings['fields']; 之后我添加了 $ex = fopen('php://stderr', 'a'); fputs($ex, "fields=" . json_encode($fields) . "\n"); which output

fields={"username":"username","password":"password"}

而不是我在网页上输入的实际用户名和密码。我尝试用实际的用户名和密码重新分配 fields 但函数调用方法 _checkFields 调用 $request->data 其中 returns 一个空字符串。

显然我在这里采取了错误的方法。我在升级中做错了什么,或者没有做某事;不仅仅是改变 composer.json 和 运行 composer update。有什么建议吗?

我通过将 CakePHP 降级到 2.9.9 版本解决了这个问题。