Открих къде е проблемът ми. За всички, които срещат много неприятната грешка 500, проверете вашите регистрационни файлове. Случи ми се, че след като проверих регистрационните файлове, открих, че методът checkhashSSHA()
никога не е бил използван и това причиняваше следната грешка:
PHP Fatal error: Call to undefined function checkHashSSA() in /xxx/xxx/xxx/xxx/UserFunctions.php on line 54
Затова добавих следния код за дешифриране на паролата:
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;
}
}
Това реши моята грешка.
Само за протокола, регистрационни файлове за такива грешки обикновено се намират на следното място:var/log/apache2/error.log
Може да се наложи да направите някои промени във файла php.ini, за да регистрирате тези грешки.
Надявам се това да помогне на всеки с грешката 500;)