Libsodium 和 pecl-libsodium 安装但 PHP 抛出错误
Libsodium and pecl-libsodium installed but PHP throws error
我需要在 Ubuntu (14.04) 服务器上的 PHP(5.5.9) 应用程序中加密密码和一些其他数据。我阅读了 libsodium,发现它非常适合应用程序要求。我遵循了唯一可用于 libsoidum 的 tutorial 中给出的所有说明。
- sudo add-apt-repository ppa:chris-lea/libsodium - 完成,没有错误
- sudo apt-get update && sudo apt-get install libsodium-dev - 完成,没有错误
- pecl 安装 libsodium - 完成,没有错误
- 将扩展名=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 环境
我需要在 Ubuntu (14.04) 服务器上的 PHP(5.5.9) 应用程序中加密密码和一些其他数据。我阅读了 libsodium,发现它非常适合应用程序要求。我遵循了唯一可用于 libsoidum 的 tutorial 中给出的所有说明。
- sudo add-apt-repository ppa:chris-lea/libsodium - 完成,没有错误
- sudo apt-get update && sudo apt-get install libsodium-dev - 完成,没有错误
- pecl 安装 libsodium - 完成,没有错误
- 将扩展名=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 环境