Я завладел сайтом, написанным для 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");
, который выводит
fields={"username":"username","password":"password"}
, а не фактическое имя пользователя и пароль, которые я набрал на веб-странице. Я попытался переназначить fields
с фактическим именем пользователя и паролем, но функция вызывает метод _checkFields
, который вызывает $request->data
, который возвращает пустую строку.
Очевидно, что здесь я использую неправильный подход. Я сделал что-то не так в обновлении или пропустил что-то сделать;нечто большее, чем просто изменение composer.json
и запуск composer update
. Есть предложения?