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

Libsodium and pecl-libsodium installed but PHP throws error

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

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

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

libsodium 支持已启用

libsodium编译版本1.0.6

libsodium headers 版本 1.0.3

libsodium 库版本 1.0.3

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

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

我收到一条错误消息 "Call to undefined function Sodium\library_version_major()"。

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

任何人都可以帮助我理解我是否遗漏了什么或做错了我无法将 libsodium 与 php 一起使用。非常感谢任何帮助。

谢谢。

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

此外,还需要将此行添加到 php.ini 文件中,用于在 /etc/php5/cli/php.ini.

处找到的 cli 环境