首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP:将Libsodium安装到PHPV5.5

PHP:将Libsodium安装到PHPV5.5
EN

Stack Overflow用户
提问于 2018-02-13 10:42:43
回答 1查看 1.8K关注 0票数 0

如何用PHP第5.5节正确安装Libsodium。我正试着按照https://paragonie.com/book/pecl-libsodium/read/00-intro.md#installing-libsodium上的指示

以下是我所做的步骤:

  1. 转到http://windows.php.net/downloads/pecl/releases/libsodium/1.0.6/
  2. 下载“php_ files 1.0.65.5-NTS-vc11-x64.zip”并解压缩文件。
  3. 将"libsodium.dll“复制到我的目录"C:\Program (x86)\PHP\v5.5”中"php.exe“
  4. 将"php_libsodium.dll“复制到我的目录"C:\Program (X86)\PHP5.5\ext”中
  5. 在extension=php_libsodium.dll文件中启用“php.ini”
  6. 重新启动服务器

但是当我通过编写一个简单的PHP测试文件来测试它时:

代码语言:javascript
复制
<?php
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);

// hash the password and return an ASCII string suitable for storage
$hash_str = sodium_crypto_pwhash_str(
        "mypassword",
        SODIUM_CRYPTO_PWHASH_OPSLIMIT_INTERACTIVE,
        SODIUM_CRYPTO_PWHASH_MEMLIMIT_INTERACTIVE
        );

echo "hash: " . $hash_str;
?>

结果页显示错误:

致命错误:调用第7行sodium_crypto_pwhash_str()中的未定义函数C:\PHP\testLibsodium.php

库library似乎没有安装,因为它不知道函数。在PHP5.5版本中安装PHP需要做些什么?非常感谢。

更新:我按照@iann的建议安装了X86版本,并运行以下代码:

代码语言:javascript
复制
$storeInDatabase = \Sodium\crypto_pwhash_str(
        "safasfdwr32sfdfas234",
        SODIUM_CRYPTO_PWHASH_OPSLIMIT_INTERACTIVE,
        SODIUM_CRYPTO_PWHASH_MEMLIMIT_INTERACTIVE
        );

现在看来这个函数正在被读取,但是我得到了一个错误:

注意:使用未定义的常量SODIUM_CRYPTO_PWHASH_OPSLIMIT_INTERACTIVE -假定为“SODIUM_CRYPTO_PWHASH_OPSLIMIT_INTERACTIVE” 注意:使用未定义的常量SODIUM_CRYPTO_PWHASH_MEMLIMIT_INTERACTIVE -假定为“SODIUM_CRYPTO_PWHASH_MEMLIMIT_INTERACTIVE” 警告: Sodium\crypto_pwhash_str()期望参数2是长的 可捕获的致命错误: crypto_pwhash_str():无效参数

这是否意味着我的error安装正确,但是为什么我会出错呢?再次感谢您。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-13 10:51:28

在将库移到版本7.2中的本地PHP之前,sodium_*函数并不在全局命名空间中。来自手册

在使用PECL的space的PHP 7.2中,下面的函数在钠名空间中定义。在PHP7.2中,名称空间改为sodium_前缀(以符合PHP内部开发标准)。

因此,如果要从PECL安装,则需要使用前面的函数名。就你而言:

代码语言:javascript
复制
$hash_str = \Sodium\crypto_pwhash_str(
...
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48764866

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档