[英]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.