PHP 警告:在 php 7.3 中使用 password_hash() 时使用未定义的常量 PASSWORD_ARGON2ID

2024-04-30

我最近通过 Plesk 的 Web GUI 安装了 PHP 7.3.6,用于 Web 应用程序的开发副本,因为我打算将生产环境从 php 7.0 更新到 7.3。我决定借此机会将密码哈希从 PBKDF2 升级到 Argon2ID,因为 PHP 核心已经包含了它。我很惊讶地收到一条警告,指出 PASSWORD_ARGON2ID 常量未定义,因为我知道它是在 php 7.3.0 中添加的。

我尝试搜索此错误的任何实例,我发现唯一相关的是 Laravel 论坛中这篇未详细说明的帖子:

https://laracasts.com/discuss/channels/laravel/use-of-undefined-constant-password-argon2id-assumed-password-argon2id?page=1 https://laracasts.com/discuss/channels/laravel/use-of-undefined-constant-password-argon2id-assumed-password-argon2id?page=1

该应用程序托管在与 MediaTemple 共享的 vps 上。 Centos 7,使用 nginx 作为 Apache 的反向代理。它是一个用于开发的子域,与运行应用程序生产版本 7.0.33 的主域一起运行 7.3.6。

$this->password = password_hash('password123', PASSWORD_ARGON2ID, array('time_cost' => 10, 'memory_cost' => '2048k', 'threads' => 6));

我期望定义 PASSWORD_ARGON2ID 常量,但它被报告为未定义:

Use of undefined constant PASSWORD_ARGON2ID - assumed 'PASSWORD_ARGON2ID' (this will throw an Error in a future version of PHP)

仅当 PHP 已编译为支持 Argon2 时,此算法才可用。 - 密码哈希值 https://www.php.net/manual/en/function.password-hash.php

如果您想在可用时使用它,我建议您检查一下defined否则回退到默认算法。

if(defined('PASSWORD_ARGON2ID')) {
    $hash = password_hash('password123', PASSWORD_ARGON2ID, array('time_cost' => 10, 'memory_cost' => '2048k', 'threads' => 6));
} else {
    $hash = password_hash('password123', PASSWORD_DEFAULT, array('time_cost' => 10, 'memory_cost' => '2048k', 'threads' => 6));
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PHP 警告:在 php 7.3 中使用 password_hash() 时使用未定义的常量 PASSWORD_ARGON2ID 的相关文章

  • 如何在php中关闭夏令时

    我有这行代码将夏令时设置为 打开 将其设置为 关闭 的正确方法是什么 is daylight saving On rcmail config dst active bool date I date I 这是一个大写字母 i 当当前默认时区
  • 使用 md5 加密的 PHP 和 Mysql 查询出现问题

    我使用普通的 php mysql 插入查询并使用 md5 加密密码 这是插入查询 sql mysql query INSERT INTO user username password role approved values usernam
  • Laravel - 停止并发访问记录

    在 Laravel 中 有什么方法可以停止同时与同一条记录交互 例如 如果用户 A 正在编辑一条记录 那么我同时需要阻止用户 B 编辑同一条记录 注意 我在 Laravel 5 2 中使用 SESSION DRIVER file 目前大约有
  • 关于加拿大短信网关提供商的建议[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我很好奇 如果我能够接受传入的短信到某个号码 然后将其传递给 PHP 中的服务器端应用程序 会带来多少麻烦 金钱 我最终会通过电子邮件地址发回短信 有
  • 使用 PHP 将值插入可编辑 PDF,并保持可编辑状态

    我有一个带有可编辑字段的 PDF 我希望将 HTML 表单中的值传递到此 PDF 中 我尝试过使用 FPDF 并且它有效 但是将值传递到 PDF 后 pdf 中的字段不再可编辑 另一个缺点是 在将值传递到 PDF 时 我们必须为每个字段指定
  • Magento补丁安装失败

    从以下位置下载并运行 Magento PHP 5 4 支持补丁 Magento CE v1 7 0 0 1 7 0 2 时http www magentocommerce com download http www magentocomme
  • strlen()==0 和empty()之间有区别吗?

    我正在查看其他人编写的一些表单验证代码 我看到了这个 strlen 0 当测试表单变量是否为空时 我使用empty 功能 一种方法比另一种方法更好吗 它们在功能上等效吗 strlen是获取字符串中的字符数 同时empty用于测试变量是否为空
  • TOMCAT 6 中的 PHP - 异常

    我一直在努力融入PHP in APACHE TOMCAT 6依照指示second answer为了QUESTION https stackoverflow com questions 779246 run a php app using t
  • Node.js 中的 PHP exit()/die() 等价物是什么

    什么是 PHP die http www php net manual de function die php http www php net manual de function die php 在 Node js 中等效吗 https
  • Laravel 广播:通知与事件

    我阅读了 laravel 文档Events and Notifications 似乎我们可以触发一个事件 并从该事件中触发 使用ShouldBroadcast接口 将其广播到我理解的 laravel echo 另一方面我们可以使用通知via
  • Composer 用于下载私有 GitHub 存储库

    我无法使用 Composer 下载 github 私人存储库 php composer phar update 我收到以下错误 The https api github com repos company private1 https ap
  • 使用日语“Enter”键进行搜索功能

    我在日语方面遇到了问题 我有一个允许用户搜索数据的表单 当用户输入要搜索的字符串并按 Enter 键时 搜索功能就会执行 我的代码是 formSearch input keyup function event var key event c
  • PHP - hash_pbkdf2 函数

    我正在尝试使用此 php 函数执行一个函数来哈希密码 http be php net manual en function hash pbkdf2 php http be php net manual en function hash pb
  • PHP7构造函数类名

    我有一个 Laravel 4 2 应用程序 它可以与 PHP5 一起使用 没有任何问题 由于我安装了一个运行 PHP7 的新 vagrant box 一旦我运行一个模型 其中函数名称与类名称 关系函数 相同 就会出现错误 如下所示
  • 未捕获的异常“Google_IO_Exception”,消息为“HTTP 错误:无法连接”

    我有一个任务 查询 运行一些从 gmail 邮箱检索数据的 php 代码 直到上周五 2015 年 4 月 10 日 它一直工作正常 现在我收到以下错误日志 E 11 58 26 094 2015 04 15 200 3 38 KB 14
  • 如何用javascript正确读取php cookies

    考虑这个 php 和 javascript 代码 然后我在控制台中看到的是 utma 111872281 291759993 1444771465 1445374822 1445436904 4 utmz 111872281 1444771
  • 如何在 HTML / Javascript 页面中插入 PHP 下拉列表

    好吧 这是我的第二篇文章 请接受我是一个完全的新手 愿意学习 花了很多时间在各个网站上寻找答案 而且我几乎已经到达了我需要到达的地方 至少在这一点上 我有一个网页 其中有许多 javascript 函数 这些函数一起使用 google 地图
  • 如何在没有引用的情况下复制对象?

    PHP5 OOP 有据可查对象通过引用传递 http php net manual en language oop5 references php默认情况下 如果这是默认的 在我看来 有一种非默认的方式可以在没有参考的情况下进行复制 如何
  • php 表单提交 - Q2

    我对这个虚拟问题感到抱歉 这是我的简单 PHP 表单 其中包含两个 SQL 表和 ADD 提交 按钮 我希望将人员从 Test1 转移到 Test2 很多事情都很好 只有提交按钮不起作用 因此 Test2 表没有反馈 Revised 现在提
  • Zend Framework Zend_Form 装饰器: 位于按钮元素内部?

    我有一个像这样创建的按钮元素 submit new Zend Form Element Button submit submit gt setLabel My Button submit gt setDecorators array Vie

随机推荐

  • Angular 2 根据角色/声明显示/隐藏组件/零件

    我试图了解有关角度应用程序安全方面的最佳实践 可以说我有一个包含模型详细信息屏幕的视图 根据给定用户的角色 权限 例如 从 jwt 声明中获得 我希望能够做的是 根据用户是否具有特定角色的事实启用 禁用某些输入字段 因此 实际上有些角色可以
  • 如何在 Swift 中使用 UILocalNotification

    我正在尝试弄清楚如何快速设置 UILocalNotification 但我运气不佳 我正在尝试这个 var notification UILocalNotification notification timeZone NSTimeZone
  • 本地化 html 文档(事后看来)

    我正在用 PHP 构建一个 Web 应用程序 我已经决定 在整个过程中 以不同的语言提供该应用程序 我的问题是这样的 我不想费力地浏览模板文件中的所有 HTMl 代码来查找需要用动态生成的 lang 变量替换的 单词 有没有一个工具可以突出
  • 我可以在 Azure Pipelines 中对变量进行子字符串化吗?

    我正在寻找一种方法来定义我的变量azure pipelines yml我可以在其中子串的文件 Build SourceVersion gt 仅使用前 7 个字符 文档中似乎没有可以执行此类字符串操作的内置函数 我有什么遗漏的吗 我的另一种方
  • 具有 OpenGL ES 3.1 上下文的 GLSurfaceView

    我正在使用 OpenGL 开发 Android 我知道如何使用GLSurfaceView及其自定义派生类 使用以下方法创建 OpenGL ES 2 0 上下文GLSurfaceView setEGLContextClientVersion
  • AngularJS - 将外部 html 文件包含到模态中

    我正在使用 AngularJS 并且有一个 html 页面 其中包含多个引导模式 这个 html 文件由于包含了所有这些模态而变得有点繁重 是否可以在不失去范围的情况下将外部 html 文件包含到这些模态中 如果您使用 Angular UI
  • TYPO3:如何将页面内容插入模板

    我有一些内容想要出现在 TYPO3 网站的多个页面上 我可以将其插入模板中 但我还希望该内容可以在富文本编辑器中编辑 所以我有了创建隐藏页面的想法 但我不知道如何将此内容插入到模板中 是否需要select打字稿声明 另外 作为后续问题 我可
  • 使用 System.Diagnostics 进行简单调试和日志记录

    我希望能够将条目写入控制台应用程序 该应用程序将描述操作何时完成 可能会在某一时刻将它们写入 txt 文件 我希望它与同时运行的单独 GUI 应用程序一起使用 这样我就可以使用该应用程序并同时监视日志 我只假设诊断类是正确的工具 但是我以前
  • Parsley 自定义验证器不适用于 JavaScript 安装

    我有最简单的形式和最简单的自定义验证器 但它不起作用 请参阅http jsfiddle net M55M4 http jsfiddle net M55M4 怎么了
  • Joda Time 持续时间或间隔中的分钟数

    我有这个简单的代码 DateTime date new DateTime dateValue DateTime currentDate new DateTime System currentTimeMillis System out pri
  • 在Vim中,如何删除单词的后缀?

    在vim中 在正常模式下 如果光标位于单词中 而不是最后一个字母 de从光标位置删除单词的后缀 如果光标位于最后一个字母上 x也这样做 同时de会跳到下一个单词的末尾 您将使用什么命令在这两种情况下都有效 无论最后一个字母与否 目的是将命令
  • 如何设置带有选项卡的多个滑动视图的默认选项卡?

    我真的被困住了 我在主要活动中使用选项卡进行了四个滑动视图 但我想要的是当用户打开应用程序时 它会自动显示第二个选项卡而不是第一个选项卡 这是我的 MainActivity java public class MainActivity ex
  • Three.js 光线投射器可以与组相交吗?

    我想知道我的光线投射器是否正在查看我已加载的 OBJ 由于从 Cinema4D 导出的方式 我相信 OBJ 是一个具有 3 个子级的 THREE Group 而不是 THREE Object 我可以更改我的 raycaster 代码行来查找
  • 发送同一条短信两次

    我正在尝试制作一个短信Android应用程序 但我收到了一个我以前从未见过的错误 即使在谷歌中我也没有找到类似的东西 所以 如果你能帮助我 我会很高兴 由于某种原因 程序同时发送两条消息 同一条短信 但这只是发生在生产中 当我使用模拟器时
  • Android Studio 无法下载并附加某些库的源代码

    就我而言 是这样的源代码是这样的 https i stack imgur com Xuo0X png 然后 我单击 下载源 但看到此错误 error https i stack imgur com 26R68 png java util N
  • 当 max-height 固定时 CSS 自动列计数

    我希望实现一个布局 其中一个元素 在我的例子中是一个 ul 当高度达到一定限制时扩展到 2 或更多 列 例如 如果高度仅够容纳 3 个项目 而我有 5 个项目 则第 4 和第 5 个项目将转到第二列 该列仅在需要时创建 我尝试通过设置来做到
  • VS Code Python autopep8 不支持 2 个空格悬挂缩进

    我正在尝试让 autopep8 正常工作 以 2 个空格而不是 4 个空格正确缩进 Python 代码 我正在使用带有 Python 扩展的 VS Code 该扩展使用 autopep8 进行格式化 我发现here https stacko
  • 如何在 Laravel 中基于迁移文件制作模型

    我已经创建了一个迁移 我想根据迁移文件制作一个模型 这可能吗 如果是这样 该怎么办 这是不可能的 到目前为止 您最多可以通过运行以下命令同时创建迁移和模型 php artisan make model ModelName m
  • Python 3D 插值加速

    我有以下用于插入 3D 体积数据的代码 Y X Z np shape volume xs np arange 0 X ys np arange 0 Y zs np arange 0 Z points list zip np ravel re
  • PHP 警告:在 php 7.3 中使用 password_hash() 时使用未定义的常量 PASSWORD_ARGON2ID

    我最近通过 Plesk 的 Web GUI 安装了 PHP 7 3 6 用于 Web 应用程序的开发副本 因为我打算将生产环境从 php 7 0 更新到 7 3 我决定借此机会将密码哈希从 PBKDF2 升级到 Argon2ID 因为 PH