安装了Libsodium和pecl-libsodium,但是PHP抛出了错误

时间:2016-08-10 16:38:31

标签: php libsodium

我需要在Ubuntu(14.04)服务器上的PHP(5.5.9)应用程序中加密密码和其他一些数据。我读到了libsodium,发现它非常适合应用程序的要求。我遵循了只有tutorial可用于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。
  5. 当我查看phpinfo()页面时,我能够看到libsodium的条目如下:

    启用了libsodium支持

    libsodium编译版本1.0.6

    libsodium headers version 1.0.3

    libsodium library version 1.0.3

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

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

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

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

    任何人都可以帮助我理解我是否遗漏了某些内容或做错了我无法使用libsodium与php。非常感谢任何帮助。

    谢谢。

1 个答案:

答案 0 :(得分:2)

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

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