PHP 7 - password_hash返回NULL

时间:2016-12-22 18:56:10

标签: php php-7

所以,这对我来说有点头疼。服务器是Ubuntu,包含Apache 2.4,MySQL和PHP 7.0.8。我已经阅读了文档,并搜索了Google和SO以寻找可能的答案而没有运气。我有一个基本功能:

public function updatePassword($pw)
{
    $passwd = password_hash($pw, PASSWORD_DEFAULT);

    if($passwd !== NULL)
    {
        $this->sql = "UPDATE {$this->table} SET passwd='{$passwd}' WHERE id=".$_SESSION[PUBLIC_SITE]['uid'];
        $this->execSql("Updating User Password", UPDATE);
    }
}

$passwdNULL,我似乎无法弄清楚原因。我还尝试将第二个参数设置为PASSWORD_BCRYPT,而password_hash仍然返回NULL。这是什么问题?他们没有更新文档以包括提及新算法或其他内容吗?或者我在这里错过了其他什么?

1 个答案:

答案 0 :(得分:2)

在查看https://wiki.php.net/rfc/password_hash并提醒调试的错误标志后,我很快意识到我正在将一个数组传递给该函数。 @play.mvc.Http.Context.current.set(play.core.j.JavaHelpers.createJavaContext(request)) @forProviders(playAuth, skipCurrent) { p => 期望字符串作为第一个参数。通过传递正确的预期输入来解决。