Znalazłem, gdzie był mój problem. Dla wszystkich, którzy napotkali bardzo paskudny błąd 500, sprawdź swoje logi. Zdarzyło mi się, że po sprawdzeniu logów odkryłem, że metoda checkhashSSHA()
nigdy nie był używany, co powodowało następujący błąd:
PHP Fatal error: Call to undefined function checkHashSSA() in /xxx/xxx/xxx/xxx/UserFunctions.php on line 54
Dlatego dodałem następujący kod do odszyfrowania hasła:
public function getUserByEmailAndPassword($email, $password) {
$stmt = $this->conn->prepare("SELECT * FROM users WHERE UserEmail = ?");
$stmt->bind_param("s", $email);
if ($stmt->execute()) {
$user = $stmt->get_result()->fetch_assoc();
$salt = $user['salt'];
$userPassword = $user['UserPassword'];
$hash = $this->checkhashSSHA($salt, $password);
if ($userPassword == $hash) {
return $user;
}
$stmt->close();
} else {
return NULL;
}
}
To rozwiązało mój błąd.
Dla przypomnienia, logi takich błędów zwykle znajdują się w następującej lokalizacji:var/log/apache2/error.log
Może być konieczne wprowadzenie pewnych zmian w pliku php.ini, aby rejestrować te błędy.
Mam nadzieję, że to pomoże każdemu z błędem 500;)