Обновление сайта CakePHP до PHP 7 - PullRequest
0 голосов
/ 12 октября 2019

Я завладел сайтом, написанным для 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. Есть предложения?

1 Ответ

0 голосов
/ 13 октября 2019

Я решил эту проблему путем понижения CakePHP до версии 2.9.9.

...