如何在 DDEV 的 Web 容器中安装像 mcrypt 这样的 pecl 扩展?

2024-01-28

在 PHP 7.2 及更高版本中,mcrypt 扩展不再可用,但我的项目依赖于它。我知道该项目不应该使用像 mcrypt 这样古老的东西,但我对此没有任何发言权。我知道 mcrypt 是从 PHP7.2+ 中删除 https://lukasmestan.com/install-mcrypt-extension-in-php7-2/但仍处于pecl https://pecl.php.net/package/mcrypt.

我该怎么做才能让这个项目在 7.2 及更高版本中支持 php-mcrypt?


DDEV 支持自定义 Dockerfile,因此您几乎可以将任何想要的内容添加到 Web 容器中。看docs https://ddev.readthedocs.io/en/stable/users/extend/customizing-images/#adding-extra-dockerfiles-for-webimage-and-dbimage.

此 .ddev/web-build/Dockerfile 将安装来自 pecl 的 mcrypt 扩展。它使用问题中链接中的技术为 DDEV_PHP_VERSION 中的 PHP 版本构建 php-mcrypt(由构建过程提供)。

如果您想安装不同的 pecl 扩展,您可能只需要更少的软件包,但想法是相同的。

RUN disable_xdebug 
RUN if [ ! -f /usr/bin/sed ]; then ln -sf /bin/sed /usr/bin/sed; fi
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y -o Dpkg::Options::="--force-confnew" --no-install-recommends --no-install-suggests build-essential make autoconf libc-dev pkg-config php-pear php${DDEV_PHP_VERSION}-dev libmcrypt-dev
# The "echo" below just forces accepting the "automatic" configuration, the same as hitting <RETURN>
RUN echo | sudo pecl install mcrypt
# Because php${DDEV_PHP_VERSION}-mcrypt is already installed in web container we can just copy its mcrypt.ini
RUN cp /etc/php/7.1/mods-available/mcrypt.ini /etc/php/${DDEV_PHP_VERSION}/mods-available/ && phpenmod mcrypt

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 DDEV 的 Web 容器中安装像 mcrypt 这样的 pecl 扩展? 的相关文章

  • 我如何知道是否启用了 PHP 缓存?

    我曾经认为缓存很难安装 所以我从来没有这样做过 在阅读了有关 APC 的内容后 它似乎很容易安装 我一直认为我必须修改应用程序中的大量 PHP 代码才能使用它 哈哈 不管怎样 我想安装APC 我可以使用 phpinfo 并注意到它没有在页面
  • 子目录中的 CakePHP 控制器和模型

    你好 我想知道如何将我的组件和模型放在子目录中 假设我有一个 Web 应用程序 它有 3 个不同的区域 管理员 用户 开发人员 每个区域执行不同的操作并具有完全不同的界面 所以我希望管理员去http www site com admin h
  • WooCommerce:在未登录用户的结帐页面中默认设置国家/地区

    如何将国家 地区设为常规 未注册用户 的默认国家 地区 但如果买家有个人账户并进入该国 他在结帐时不会被拖欠吗 我尝试过使用WooCommerce 在结帐页面中默认设置国家 地区 https stackoverflow com questi
  • 如何使用 JQuery 提取嵌套 HTML 中的文本?

    我这里有 HTML 代码 div class actResult style border solid table tbody tr td Order Number td td 1 td tr tr td Customer Number t
  • 在 WooCommerce 中检查购物车中的多个产品 ID

    我使用以下代码来检查产品 ID 是否在购物车中 如果是 则添加额外的结帐字段 add action woocommerce after order notes conditional checkout field function cond
  • Graph API / FQL 不返回页面的所有事件

    脸书页面 http facebook com getwellgabby events http facebook com getwellgabby events 目前有 8 个活动 我能看到他们 非管理员可以看到它们并可以加入它们 但是 当
  • 如何自动更新数据库中的记录?

    我有一个工作表 在其中插入新工作 该表还包含职位发布日期 默认情况下 当发生新插入时 作业状态为打开状态 现在 当作业超过 30 天时 我想将作业状态从开放更改为关闭 我该怎么做 尝试创建一个每天运行的事件 如下所示 CREATE EVEN
  • 如何获取共同好友列表

    你好 我想知道如何才能找到共同的朋友 我目前在思考这个问题时遇到问题 我有一个名为 users 的表 它是这样的 id name 1 Kenny 2 Jack 3 Jimmy 4 Chris 5 Meg 6 Jake 7 Micheal 8
  • 如何解码这个 JSON 字符串?

    这是我从 feed finder url 中得到的字符串 JSON 编码 updated 1265787927 id http www google com reader api 0 feed finder q u003dhttp itca
  • PHP session_destroy() 警告会话对象销毁失败[重复]

    这个问题在这里已经有答案了 我有这个 php 脚本 但在破坏会话时遇到问题 我收到这个警告 警告 session destroy 会话对象销毁失败 第 6 行 C xampp htdocs template nota finalizare
  • 如何区分两个同名的多选列表

    对于我正在构建的系统 我需要查看第一个列表中出现了哪些选项 通过 POST 请求 以及第二个列表中出现了哪些选项
  • 从存储库获取时,Doctrine 如何在不调用 __construct 方法的情况下创建实体?

    我在构造函数中编写了下一个代码 public function construct die creating entity 当我创建实体实例时new运算符如 entity new Entity 我看到creating entity text
  • PHP 使用今天的日期生成一个随机数

    我正在尝试为内容块 在网页上 分配一个随机生成的数字 该数字基于今天的日期 无论是什么 和固定数字 由于某种原因 输出的数字种类存在巨大差异 例如 当我在本地测试我的代码时 生成的数字对我来说足够好 正数 但在实际的实时服务器上时 它们通常
  • 数组到命名变量

    我该如何服用 userarray 这是一个数组 我知道它包含 3 个值 并将它们放入 3 个单独的变量中 而不是循环遍历 那里隔着 commas 所以爆炸会在某个地方发生 Say userfield1 userfield2 userfiel
  • 如何在按钮上执行mysql [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions PHP 单击按钮时如何执行 SQL
  • PHP-向某些浏览器显示消息

    我已经搜索过这个 我发现的一切都超出了我的需要 我以前用 JavaScript 做过这个 但我真的更喜欢使用 PHP 我将如何根据访问者使用的浏览器向他们显示消息 Example IE 用户会看到 您正在使用 Internet Explor
  • 如何从 URL 获取当前的 Web 目录?

    如果我有一个网址http www example com sites dir index html http www example com sites dir index html 我想提取 sites 这个词 我知道我必须使用正则表达式
  • 为什么 count 比 $count 差

    我只是在查看不同问题的答案以了解更多信息 我看到一个answer https stackoverflow com a 4891402 429850这表明在 php 中编写这样的做法是不好的做法 for i 0 i
  • 使用 .htaccess 进行 PHP 设置时出现 500 内部服务器错误

    当我使用时 htaccess对于以下 PHP 设置 我得到500 Internal Server Error访问网站时 中的代码 htaccess file php flag display errors off php flag log
  • Apache LOG:子进程 pid xxxx 退出信号分段错误 (11)

    Apache PHP Mysql Linux 注意 子进程 pid 23145 退出信号分段错误 11 tmp 中可能存在 coredump 但 tmp下没有找到任何东西 我怎样才能找到错误 PHP 代码中函数的无限循环导致了此错误

随机推荐

  • WebKit 及其遗留前缀

    我正在尝试编译特性前缀为 apple and khtml WebKit 支持哪些and since 哪个版本它们最终被放弃或引入 他们受到什么限制 例如 您可以在以下位置找到它们吗 document body style 我猜只有像记者这样
  • 共同好友数量最多的好友

    我想找到我与他们共同好友数量最多的朋友 我尝试使用 FQL 和图形 API 按以下方式执行此操作 获取当前登录用户的好友列表 FQL SELECT uid1 FROM friend WHERE uid2 MY USER ID and uid
  • Cin 无需等待输入?

    对于我正在开发的项目 我需要程序能够接收用户的输入 但是当他们输入某些内容时 程序可以继续循环 For example while true if userInput true cin gt gt input DO SOMETHING 这意
  • 标记数据和未标记数据有什么区别? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 In this http www youtube com watch v qkcFRr7LqAw在 Sebastian Thrum 的视频
  • 我可以在以后的版本中更改 Android 应用程序图标和名称吗?

    这在某种程度上听起来很愚蠢 但我想知道是否可以在后续版本中更改应用程序徽标 图标 和 Android 名称 比如说 今天我在 Android 市场上推送我的应用程序 明天我想更改徽标 图标 我知道我 不应该 这样做 但是可以这样做吗 另外
  • 使用 OpenVPN 创建 VPN

    我在 Android 10 上连接 VPN 时遇到问题 并在 logcat 中收到以下消息 这是权限错误 寻找解决方案 还在 Mainfest 中添加了 android requestLegacyExternalStorage true 但
  • 在 XSLT 中,在使用时计算设置为 name(..) 之类的变量是否正常?

    我的 XML 中有几棵树 想要根据另一棵树的名称来访问其中一棵树 这里被称为tab name它是当前节点的父标签 所以我使用 name 如果我在设置变量的同一位置进行测试 这会给我正确的值 然而 我遇到的问题是 当我引用 tab name
  • 在单个查询中为每个 DISTINCT 记录选择多条记录

    我需要为每个不同的记录选择几行 几乎就像这里问的那样在 SQL Server 2008 中为每个不同 ID 选择前 n 条记录 https stackoverflow com questions 3364224 select first n
  • 我可以使用同一个套接字进行多个连接吗?

    我正在尝试创建一个扫描一系列地址的 python 函数 我启动了一个套接字并将该套接字作为参数传递给连接到它的函数 def scan socket address port c socket connect ex address port
  • 在 React 中使用 setState 更新对象

    是否有可能更新对象的属性setState 就像是 this state jasper name jasper age 28 我努力了 this setState jasper name someOtherName 和这个 this setS
  • PDO MySQL:在一个查询中插入多行

    你好 我正在制作一个类 用于在 pdo 中进行多次插入 是这样的 INSERT INTO table key1 key2 key3 etc VALUE value1 value2 value3 etc value1 value2 value
  • 如何在sqlalchemy中划分两列

    如何使用 sqlalchemy 生成此 SQL SELECT SUM click SUM impression as my indicator FROM stats session query func sum table click la
  • 导入数据库架构

    我有一个 mysqldump 文件 其中包含架构和数据转储 我只需要从 sqldump 导入数据库架构 我尝试使用以下命令 mysql uUSER pPASSWORD lt filename sql 但没有帮助 它导入模式和数据 我该怎么做
  • 如何将字符串附加到 Pandas 索引

    我有以下 Pandas 数据框 import pandas as pd df pd DataFrame d 1 2 3 index FOO BAR BAZ df d FOO 1 BAR 2 BAZ 3 我想要做的是在索引前面附加两个字符串
  • Android 4.1.1 中的 NETWORK_PROVIDER 行为是否发生了变化?

    我有一个现有的经过充分测试的应用程序 它利用GPS PROVIDER and NETWORK PROVIDER与相同的LocationListener LocationManager报告 GPS 网络和被动定位提供商可用并已启用 我最近将
  • 如何在 android API 19 (KitKat) 中保留权限?

    在我的应用程序中 我将图像路径存储在 SQlite 数据库中以供进一步使用 我得到的路径是 content com android providers media documents document image 3A71964 当我从数据
  • cl::vector 与 std::vector:不同的迭代器行为

    EDIT 添加了 PlasmaHH 建议的带有内存位置的调试输出 我不明白 OpenCL 的 C 绑定中 cl vector 的不同行为 考虑以下代码 Header Top hpp class Top public void setBool
  • 如何在同一个 Spark 项目中同时使用 Scala 和 Python?

    是否可以通过管道火花RDD到Python 因为我需要一个Python库来对我的数据进行一些计算 但我的主要Spark项目是基于Scala的 有没有办法混合它们或者让 python 访问相同的 Spark 上下文 您确实可以使用 Scala
  • 解组时出现意外元素错误

    我应该像下面那样解组简单的 xml 但出现错误 Exception in thread main javax xml bind UnmarshalException unexpected element uri http example c
  • 如何在 DDEV 的 Web 容器中安装像 mcrypt 这样的 pecl 扩展?

    在 PHP 7 2 及更高版本中 mcrypt 扩展不再可用 但我的项目依赖于它 我知道该项目不应该使用像 mcrypt 这样古老的东西 但我对此没有任何发言权 我知道 mcrypt 是从 PHP7 2 中删除 https lukasmes