首页 > 解决方案 > 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 吗?

我应该使用其他方法来访问所需的功能吗?

标签: phpamazon-ec2php-7.3libsodiumsodium

解决方案


是的,通常它包含在 PHP 7.2+ 中,但是当您使用 AWS EC2 实例时,这有点简约,并且并非所有内容都包含在内。

https://www.php.net/manual/de/sodium.installation.php

在这里您可以看到您必须在编译期间启用它--with-sodium[=DIR]。所以你可以自己编译它,或者你尝试另一个发行版从你的包管理器中获取它,或者你使用另一个库来使它工作。

https://forums.aws.amazon.com/thread.jspa?threadID=293187


推荐阅读