【问题标题】:Using Libsodium with PHP on WAMP在 WAMP 上使用 Libsodium 和 PHP
【发布时间】:2016-06-15 16:18:02
【问题描述】:

我在本地服务器 (WAMP64) 上安装 libsodium 时遇到了很大的麻烦。

我用过这个guide 和许多其他的,但仍然没有运气。

我成功安装了PEAR,但是我不能用它来安装libsodium的PHP包装器。有人可以逐步发布一个小指南来帮助我吗?

我很感激安装 Halite 的帮助,需要 libsodium,因为也许这将是我的下一步。

谢谢大家。

【问题讨论】:

  • 可能相关,但未得到答复:stackoverflow.com/questions/33846389/…
  • 在您发布的指南中,您是否立即按照“在 Windows 上,为您的 PHP 版本下载适当的 zip 文件,然后按照这三个步骤” 进行操作?
  • 是的,我确实遵循了这些步骤

标签: php cryptography pear libsodium


【解决方案1】:

在 Windows 上,为您的 PHP 版本下载 appropriate zip file,然后按照以下三个步骤操作。 (我在测试中使用 1.0.6 for PHP 7.0)。

  1. 将 libsodium.dll 复制到 System32 文件夹或与 php.exe 相同的目录。 也将其复制到 apache/bin/ 文件夹(对我来说是 C:\xampp\apache\bin)。
  2. 将 php_libsodium.dll 复制到 PHP 扩展目录(我是 C:\xampp\php\ext\)
  3. 将 extension=php_libsodium.dll 添加到您的 php.ini 文件中。

第 1 步中的粗体部分是我缺少的部分。一旦我将 dll 放入该文件夹并重新启动 Apache,一切都开始工作了。

您可以使用此代码创建一个新的 php 文件以验证它是否正常工作:

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

【讨论】:

    【解决方案2】:

    不要尝试使用 Pear/Pecl 在 Windows 上安装 Pecl 扩展。它不会工作。

    宁可使用预编译的 .dll 文件。


    指南页面甚至这样说:

    在 Windows 上安装 Libsodium 和 PHP 扩展

    在 Windows 上,为您的 PHP 版本下载适当的 zip 文件,然后按照以下三个步骤操作。

    【讨论】:

    • 在指南中说我必须用 Pecl 来做,我不知道 Libsodium 的预编译 .dll 文件或其他方式:(
    • @Andrea,该指南中关于在 Windows 上安装 Libsodium 和 PHP 扩展的部分根本没有提到 pecl,所以如果您 [再次] 遵循这些步骤并忽略该部分之外对 pecl 的引用它应该可以正常工作。我可以理解您的困惑,因为文档没有清楚地描述这些部分......
    • 即使忽略了 pecl 部分,我做了所有的事情,但它不起作用:(我错过了一些东西,但我不知道是什么......
    【解决方案3】:
    1. 转到 WAMPSERVER 并安装列出的 PHP
    2. 启用钠并检查“显示 PHP 加载的扩展”,它将被加载
    1. 如果钠可用或不可用,则使用以下命令签入 PHP 模块

      cmd> php -m cmd> php --ri 钠

    2. 如果未列出钠,则转到您的 /php/php.ini 并搜索 ';extension=sodium' 并删除 ';'你会很高兴的

    【讨论】:

      猜你喜欢
      • 2018-01-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多