Открих проблема. когато направих това:
echo strlen($hash)
отпечата 90, което е странно, защото определено нямаше интервали в края, когато разпечатах съобщението за успех/неуспех, а полето има дължина на varchar от 255
Добавих този ред:
$hash = substr( $hash, 0, 60 );
И сега работи добре.
Странно е, че изглежда никой друг не се е сблъсквал с този проблем. Има подобни публикации за password_verify, но нито една от тях не изисква този тип преобразуване или каквото и да е преобразуване по този въпрос:
password_verify php не съвпада
http://forums.phpfreaks.com/topic/ 283407-need-help-with-password-verify/
Използване на функциите password_hash и password_verify на PHP 5.5
Едно нещо, което ме притеснява е, че това пречи на кода да бъде съвместим напред. Как ще разбера, че хешът е дълъг 60 знака, когато се промени по подразбиране?