You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP中password_hash函数返回null问题求助

问题原因与解决方案

核心问题

你调用password_hash()时缺少了必填的第二个参数——哈希算法常量,这是导致函数返回null的直接原因。

代码修正

将原代码中的:

$passw = password_hash($password);

修改为:

// 使用默认算法(推荐,会自动采用当前最安全的哈希算法)
$passw = password_hash($password, PASSWORD_DEFAULT);

// 或者指定具体算法,比如BCRYPT
// $passw = password_hash($password, PASSWORD_BCRYPT);

补充说明

  • password_hash()函数要求至少传入两个参数:待哈希的密码字符串,以及指定哈希算法的常量(如PASSWORD_DEFAULT、PASSWORD_BCRYPT)。缺少第二个参数时,PHP会触发警告(若开启错误提示),并返回null或false。
  • 你提到登录逻辑中使用该函数无问题,大概率是登录代码里正确传入了第二个参数,而注册环节遗漏了。

验证建议

开启PHP开发环境的错误提示,可以看到类似如下警告,进一步确认问题:

Warning: password_hash() expects at least 2 parameters, 1 given in /var/www/lernapp/src/register.php on line XX

内容的提问来源于stack exchange,提问作者Jonathan Fuchs

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 08:09:23