php - Amazon EC2 上的 PHP 版本 7.3.17 缺少钠?
问题描述
在调用 sodium_crypto_pwhash_str 时,我在 Apache 错误日志文件中得到以下信息。
PHP 致命错误:未捕获的错误:调用未定义的函数 sodium_crypto_pwhash_str()
如前所述,我的 php 版本是在 Amazon EC2 实例上运行的 7.3.17。
除了模块作者信息之外,我的 php-info() 不返回任何相关的 libsodium 信息:
弗兰克丹尼斯钠
鉴于上述作者信息引用了模块作者,我应该启用钠模块吗?如果答案是肯定的,它是否在 php.ini 文件中被引用?如:
扩展=钠
也许:
扩展=libsodium
我在这里想念什么?
我不应该使用记录在案的函数 sodium_crypto_pwhash_str 吗?
我应该使用其他方法来访问所需的功能吗?
解决方案
是的,通常它包含在 PHP 7.2+ 中,但是当您使用 AWS EC2 实例时,这有点简约,并且并非所有内容都包含在内。
https://www.php.net/manual/de/sodium.installation.php
在这里您可以看到您必须在编译期间启用它--with-sodium[=DIR]
。所以你可以自己编译它,或者你尝试另一个发行版从你的包管理器中获取它,或者你使用另一个库来使它工作。
推荐阅读
- python - Python:如何将列表写入csv,每行有N个项目
- maple - 如何在maple中插入分页符?
- java - Android 应用程序在 Intent 处崩溃
- sql - 为什么我在加入 dim_date 时会在结果中看到多个月
- css - 如何在选择中设置菜单图标向下的语言之间的距离?
- neural-network - 如何计算具有多个输出的神经网络中的均方误差?
- vert.x - 节点崩溃后 Vert.x 不公平的 verticle 重新部署
- c# - 断开连接后,lidgren 客户端无法连接
- android - 更新 Xamarin.Forms 会破坏 Android 的 Prism 导航
- java - 使用 Collator 在一行中收集到 TreeMap