![](/img/trans.png)
[英]PHP Warning: Use of undefined constant PASSWORD_ARGON2ID when using password_hash() in php 7.3
[英]How to compile PHP using –with-password-argon2?
我尝试将 PHP 的password_hash()
函数与PASSWORD_ARGON2I
算法一起使用,但是,我收到以下错误消息:
警告:在第181行的some-file.php 中使用未定义的常量 PASSWORD_ARGON2I - 假定为“PASSWORD_ARGON2I”(这将在 PHP 的未来版本中引发错误)
警告:password_hash() 期望参数 2 是整数,字符串在第192行的some-file.php 中给出
致命错误:未捕获的 PDOException:SQLSTATE[23000]:违反完整性约束:1048 列“密码”在 some-file.php:232 中不能为 null 堆栈跟踪:#0 some-file.php(232):PDOStatement->execute( ) #1 {main} 在第232行的some-file.php 中抛出
我是一个字一个字的跟着函数的官方文档,但是还是遇到了这个错误。
然后我做了一些研究,我发现“PHP 应该使用–with-password-argon2
” (他们指的是这个文件)。
我不知道该怎么做,也找不到任何页面可以指导我完成这些步骤或为我提供更多信息。
散列函数与PASSWORD_DEFAULT
完美配合,但这不是我目前需要的。
我不知道,但 OSX 预装了 PHP。 我有一个非常早期的版本,所以我需要升级它以使 Argon2 算法工作。 当我在命令行中通过php --version
检查我的版本时,我得到以下结果:
PHP 5.6.30 (cli)(构建时间:2017 年 10 月 29 日 20:30:32)
版权所有 (c) 1997-2016 PHP Group
Zend Engine v2.6.0,版权所有 (c) 1998-2016 Zend Technologies
所以我按照本指南进行操作,但我还必须安装 Argon2 库(未提及)并使用./configure —with-password-argon2
。 所以这里是根据本指南解决我的问题的步骤:
brew install libjpeg
、 brew install pcre
、 brew install libxml2
等)./configure —with-password-argon2
make test
(耗时过程,同时随意喝啤酒)sudo make install
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.