Fandt problemet. da jeg gjorde dette:
echo strlen($hash)
den udskrev 90, hvilket er mærkeligt, for der var bestemt ingen mellemrum i slutningen, da jeg udskrev meddelelsen om succes/fejl, og feltet har en varchar-længde på 255
Jeg tilføjede denne linje:
$hash = substr( $hash, 0, 60 );
Og nu fungerer det fint.
Det er mærkeligt, at ingen andre ser ud til at være stødt ind i dette problem. Der er lignende indlæg om password_verify, men ingen af dem krævede denne type konvertering eller nogen konvertering for den sags skyld:
php password_verify virker ikke
password_verify php matcher ikke
http://forums.phpfreaks.com/topic/ 283407-need-help-with-password-verify/
Brug af PHP 5.5's password_hash og password_verify-funktion
En ting, der generer mig, er, at dette forhindrer koden i at være forward-kompatibel. Hvordan ved jeg, at hashen er 60 tegn lang, når standarden ændres?