libsodium "Call to undefined function" 错误
libsodium "Call to undefined function" error
我已经在 ubuntu 16.04 上安装了 libsodium 和 libsodium-php 但是当我 运行:
`<?php
var_dump([
\Sodium\library_version_major(),
\Sodium\library_version_minor(),
\Sodium\version_string()
]);`
我收到一条错误消息:
PHP Fatal error: Uncaught Error: Call to undefined function Sodium\library_version_major()
根据 phpinfo() Sodium 已启用,编译版本为 2.0.1,库版本为 1.0.13。我做错了什么?
libsodium 的 PHP API 在扩展的 2.0.0 版中发生了变化。
最初,所有函数都在 \Sodium\
命名空间中。
但是,在 PHP 开发人员就其包含在 PHP 7.2 中进行投票后,决定将所有内容移至全局命名空间。
所以,以前 \Sodium\library_version_major()
现在是 sodium_library_version_major()
。
对于那些安装了 Pecl 版本的 Soidum 并在 php.ini 中启用它的人(扩展名=sodium.so)并且有与 Call to Undefined 相同的错误。 ..
在重新启动 Apache 和 nginx 后,最终没有成功,最终重新启动服务器,让 sodium 正常工作。
PHP 7.3 & >7.3 = libsodium 2.1
希望对您有所帮助。
对于那些无法得到答案的人..
那是因为它应该是:
<?php
var_dump([
SODIUM_LIBRARY_MAJOR_VERSION,
SODIUM_LIBRARY_MINOR_VERSION,
SODIUM_LIBRARY_VERSION
]);
我已经在 ubuntu 16.04 上安装了 libsodium 和 libsodium-php 但是当我 运行:
`<?php
var_dump([
\Sodium\library_version_major(),
\Sodium\library_version_minor(),
\Sodium\version_string()
]);`
我收到一条错误消息:
PHP Fatal error: Uncaught Error: Call to undefined function Sodium\library_version_major()
根据 phpinfo() Sodium 已启用,编译版本为 2.0.1,库版本为 1.0.13。我做错了什么?
libsodium 的 PHP API 在扩展的 2.0.0 版中发生了变化。
最初,所有函数都在 \Sodium\
命名空间中。
但是,在 PHP 开发人员就其包含在 PHP 7.2 中进行投票后,决定将所有内容移至全局命名空间。
所以,以前 \Sodium\library_version_major()
现在是 sodium_library_version_major()
。
对于那些安装了 Pecl 版本的 Soidum 并在 php.ini 中启用它的人(扩展名=sodium.so)并且有与 Call to Undefined 相同的错误。 ..
在重新启动 Apache 和 nginx 后,最终没有成功,最终重新启动服务器,让 sodium 正常工作。
PHP 7.3 & >7.3 = libsodium 2.1
希望对您有所帮助。
对于那些无法得到答案的人.. 那是因为它应该是:
<?php
var_dump([
SODIUM_LIBRARY_MAJOR_VERSION,
SODIUM_LIBRARY_MINOR_VERSION,
SODIUM_LIBRARY_VERSION
]);