Zjistil jsem, kde byl můj problém. Pro všechny, kteří se setkají s velmi ošklivou chybou 500, zkontrolujte své protokoly. Přišlo mi, že jakmile jsem zkontroloval protokoly, zjistil jsem, že metoda checkhashSSHA()
nebyl nikdy použit a způsobilo to následující chybu:
PHP Fatal error: Call to undefined function checkHashSSA() in /xxx/xxx/xxx/xxx/UserFunctions.php on line 54
Proto jsem přidal následující kód pro dešifrování hesla:
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;
}
}
Toto vyřešilo mou chybu.
Jen pro pořádek, protokoly takových chyb se obvykle nacházejí v následujícím umístění:var/log/apache2/error.log
Možná budete muset provést nějaké změny v souboru php.ini, aby se tyto chyby zaprotokolovaly.
Doufám, že to někomu pomůže s chybou 500;)