【问题标题】:Download and install the php mcrypt extension under windows 10windows 10下下载安装php mcrypt扩展
【发布时间】:2019-03-06 12:48:24
【问题描述】:

在哪里可以下载以及如何在 Windows 10 / 64 位下安装 php 7.1 (TS,VC14) 的 mcrypt 扩展。 我需要它用于 akeneo 项目,它具有使用 mcrypt(而不是其他扩展)的依赖项。

我还没有找到合适的扩展 dll。 感谢您的帮助。

【问题讨论】:

  • mcrypt 已死,请参阅此处stackoverflow.com/questions/49323908/…
  • 谢谢,我已经看过了,而且它在 php 7.1 下也已被弃用,但我需要它用于旧项目..
  • @Bizboss 修复您的项目以使用现代加密库,如 libsodium 或 openssl。不要试图将旧的损坏的未维护代码撬入 PHP 以强制它工作。无论如何,这可能是不可能的,因为 PHP 7.x 的代码库与 PHP 5.x 非常不同,并且现在几乎可以肯定与废弃的扩展不兼容
  • 那个 ^ 做那个!
  • Akeneo 的确切问题是什么?据github.com/akeneo/pim-community-dev/issues/5937称,一年多以来不再依赖mcrypt

标签: php mcrypt php-7.1 akeneo


【解决方案1】:

此示例适用于 WAMP 在 Windows 10 中安装的 PHP 7.4(如果您设法找到适合您的 PHP 版本的 php_mcrypt.dll 文件,它将适用于其他版本)。

对于其他 PHP 版本,您可以在 https://pecl.php.net/package/mcrypt 或 php windows 二进制文件中找到 php_mcrypt.dll 文件:在 ext/ 文件夹 https://windows.php.net/downloads/releases/ 中的 PHP windows 二进制文件中

【讨论】:

  • 非常感谢,它在 php7.4.9 中为我工作,你节省了我的一天!
  • 谢谢。在这里不同帖子中的许多人都采取了 POV “不要使用 mcrypt - 它已被弃用且充满缺陷”。但是,当从使用 mcrypt 的系统升级到 libsodium(这艘船上有很多人)时,放弃 mcrypt 将意味着您的所有用户都必须重置他们的密码 - 这并不酷。在逐步淘汰系统中的旧通道哈希时使用两者有什么问题,即通过 libsodium 对所有当前通道哈希进行哈希以增强安全性;将它们标记为需要 mcrypt 和 libsodium;在登录期间使用两者。当用户重置通行证时,只需将 libsodium 和 flag 用作 libsodium。
  • @Shaun 很高兴我的回答对您有所帮助。你也可以投票吗?
【解决方案2】:

如果您需要运行此代码并且它使用 mcrypt,我怀疑它是否真的需要 php 7.1 什么可能对您有帮助(但可能不推荐)

  1. 为 Windows link 安装 Wamp,您可以轻松地在 PHP 5 和 7 之间切换

Wamp 不适合自定义 php 版本,但我设法添加了一些“我的版本”,如果我在列表中没有找到有趣的版本,您可以通过单击图标上的图标来切换版本尝试。向左或向右(双向检查)

也检查link

  1. Docker 自定义 PHP 会更好,但它需要一些学习曲线而不是可点击的 Wamp。然而,使用 Docker,您可以对 PHP 做任何可能的事情,而使用 Wamp,您总是会遇到一些障碍(主要是因为缺乏资源如何做某事,以及特定的 Windows 平台)。

如果你放弃 Wamp,安装 Docker 并运行命令:

docker run --rm -it php:5-apache php -r 'print_r(get_loaded_extensions());'

使用 apache run 检查 php 7 上加载的扩展

docker run --rm -it php:7-apache php -r 'print_r(get_loaded_extensions());'

查看 php 版本是否安装了 mcrypt,如果没有,则将其安装到 php 的 docker 映像应该没什么大不了的(如果您需要相关信息,请在评论中告知)

这里有一个 Docker 的官方 PHP 镜像,其中描述了如何安装扩展 Dockerhub PHP image

  1. 也许这会有所帮助mcrypt-module-open

【讨论】:

    【解决方案3】:

    最好的解决方案是安装 Linux。使用 VM 或 Linux 的 Windows 子系统。

    https://docs.microsoft.com/en-us/windows/wsl/install-win10

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-09-14
      • 2018-08-31
      • 2018-11-14
      • 2014-06-06
      • 2014-05-18
      • 2016-07-28
      • 2014-03-03
      • 1970-01-01
      相关资源
      最近更新 更多