3

我需要在 Ubuntu (14.04) 服务器上的 PHP(5.5.9) 应用程序中加密密码和其他一些数据。我阅读了有关 libsodium 的信息,发现它非常适合应用程序的要求。我遵循了可用于 libsoidum的唯一教程中给出的所有说明。

  1. sudo add-apt-repository ppa:chris-lea/libsodium - 完成,没有错误
  2. sudo apt-get update && sudo apt-get install libsodium-dev - 完成,没有错误
  3. pecl install libsodium - 完成,没有错误
  4. 将 extension=libsodium.so 添加到 php.ini 并重新启动 apache。

当我检查 phpinfo() 页面时,我可以看到 libsodium 的条目,如下所示:

已启用 libsodium 支持

libsodium 编译版本 1.0.6

libsodium 头文件版本 1.0.3

libsodium 库版本 1.0.3

但是,当我尝试运行上述教程中给出的基本示例时:

<?php  var_dump([ \Sodium\library_version_major(),\\Sodium\library_version_minor(),\Sodium\version_string() ]);?>

我收到一条错误消息,提示“调用未定义的函数 Sodium\library_version_major()”。

这真的让我感到困惑,因为扩展名被 phpinfo() 页面正确识别。

任何人都可以帮助我了解我是否遗漏了什么或做错了我无法将 libsodium 与 php 一起使用。任何帮助是极大的赞赏。

谢谢你。

4

1 回答 1

2

我假设您已尝试从命令行运行基本示例。在这种情况下,不仅需要添加到Ubuntu 14.04上的/etc/php5/apache2/php.iniextension=libsodium.so中的 apache2 的 php.ini 。

另外,有必要将此行添加到 /etc/php5/cli/php.ini 中的 cli 环境的 php.ini 文件

于 2016-11-23T16:05:58.377 回答