Docker php:fpm—安装 php 扩展

2024-02-12

我用的是官方的php:fpmdocker 镜像作为我的应用程序容器的基础,所以Dockerfile像这样开始:

FROM php:fpm

稍后在文件中我希望有类似的内容:

RUN apt-get install -y \
    php7.0-gd

但这告诉我:

E: Unable to locate package php7.0-gd
E: Couldn't find any package by regex 'php7.0-gd'

使用“猛击”进入容器docker exec -it <name> /bin/bash并执行:apt-cache search php | grep gd yields:

php5-gdcm - Grassroots DICOM PHP5 bindings
php5-vtkgdcm - Grassroots DICOM VTK PHP bindings
php5-gd - GD module for php5

因此,由于这是一个基于 debian (yessie) 的映像,因此只有旧的 php5 软件包可用,而 php7 是通过一些棘手的脚本安装的php:fpm dockerfile https://github.com/docker-library/php/blob/0bb4068bd639ba98631bc2999e0d20cae583ec00/7.1/jessie/fpm/Dockerfile并且所有扩展都在使用的 php 可执行文件中编译。

在这种情况下如何安装更多扩展?


Quoting https://hub.docker.com/_/php/ https://hub.docker.com/_/php/

如何安装更多 PHP 扩展

我们提供帮助脚本docker-php-ext-configure, docker-php-ext-install, and docker-php-ext-enable更轻松地安装 PHP 扩展。

要使用 iconv、mcrypt 和 GD 安装 PHP,他们提供了以下示例:

FROM php:7.0-fpm
RUN apt-get update && apt-get install -y \
        libfreetype6-dev \
        libjpeg62-turbo-dev \
        libmcrypt-dev \
        libpng-dev \
    && docker-php-ext-install -j$(nproc) iconv mcrypt \
    && docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
    && docker-php-ext-install -j$(nproc) gd

请参阅 Dockerhub 页面了解更多详细信息。

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

Docker php:fpm—安装 php 扩展 的相关文章

  • 禁用 WooCommerce 手动/编辑订单的电子邮件通知

    需要 WooCommerce 专业知识 我需要禁用手动创建的订单的电子邮件通知 我必须使用处理状态 由于处理订单状态的自定义挂钩 我无法创建自定义状态 理想情况下 手动订单页面中可以勾选一个复选框 勾选后 它将禁止在每种状态下向客户发送电子
  • Readfile 从大文件中读取 0 字节?

    我正在尝试通过以下方式发送一个大文件readfile 但是 没有任何内容发送到浏览器 并且readfile 回报0 not false 我尝试发送的文件大小为 4GiB 并且可由 PHP 读取 我正在设置set time limit 0 以
  • 所有 PHP 相等比较都是对称的吗?

    Is a b总是等价于 b a 我认为在 JavaScript 中 由于强制转换 有一些奇怪的情况并非如此 I think ide https stackoverflow com questions 4752579 are all php
  • 在我的 index.php 中加载 CSS 和 JS 等资源时出现错误 403

    我使用的是 Linux Elementary OS 并在 opt 中安装了 lampp My CSS and JS won t load When I inspect my page through browser The console
  • 使用 PHP Selenium Webdriver 单击下拉菜单中的选项?

    我正在使用 PHP Selenium Webdriver 包装器Facebook https github com facebook php webdriver 任何人都可以给我一个如何单击或从选择下拉菜单中选择选项的示例吗 我已经尝试过这
  • 从类似 cronjob 的语法创建“下次运行时间”日期

    在我正在创建的应用程序中 用户可以安排重复任务 生成间隔模式的简单值是 Minute 0 59 90 each minute Hour 0 23 90 each hour Day of month 1 31 90 each day of m
  • 在 PHP 中比较两个对象的最快方法是什么?

    假设我有一个对象 在本例中为 User 对象 并且我希望能够使用单独的类来跟踪更改 用户对象不必以任何方式改变它的行为才能发生这种情况 因此 我的单独的类创建它的 干净 副本 将其存储在本地某个位置 然后可以将 User 对象与原始版本进行
  • 编辑 HTACCESS 文件以防止直接访问特定文件夹中的特定文件

    我试图阻止直接访问子文件夹中的特定文件 我意识到这个论坛上有很多描述类似问题的主题 但是 我的似乎有点尴尬 由于我已经存在 HTACCESS 文件 这是文件的文件路径 www example com PRINCIPAL PROJECTS m
  • 使用 PHP PayPal REST API 退款?

    我正在开发一个集成到 PayPal 的 REST API 中的 PHP 应用程序 我正确处理了事务并将事务 ID 保存到 MySQL 数据库中 我现在正在尝试退款 但无法让它停止给出 传入 JSON 请求未映射到 API 请求 错误 有人对
  • 检查 PHP 中的字符串长度

    我有一个长度为 141 个字符的字符串 使用下面的代码我有一个if如果字符串大于或小于 140 则语句返回一条消息 libxml use internal errors TRUE dom new DOMDocument dom gt loa
  • 如何纠正这个非法字符串偏移?

    我收到此错误 警告 第 32 行 home mysite public html wp content themes evento lib php extra class php 中的非法字符串偏移 type 我意识到文件中的这部分代码是错
  • 在 WooCommerce 中添加到购物车之前清空购物车

    我正在使用 WP 作业管理器和 Woo Subscriptions Now 最初 我选择了一个套餐 Woo Subscription 然后我添加了所有细节 但没有提交 回到网站 所以要再次购买 我需要选择一个套餐 于是我选择了套餐并填写了详
  • Facebook PHP SDK - 如何获取访问令牌?

    我正在尝试从我的应用程序在用户的 Facebook 墙上发帖 用户授予应用程序在他的墙上发布的权限 并且我在数据库中有用户ID 我需要自动发送帖子 而无需用户再次登录 我的代码是 try require once dirname FILE
  • PHP 中的引用

    我正在编写一个自定义博客引擎 并且希望拥有类似于 Wordpress 的引用 我可以查看 WordPress 源代码 但我真的更喜欢某种教程 但到目前为止我还没有找到 有没有关于在 PHP5 中实现 trackbacks 或 pingbac
  • 如何通过ssh检查ubuntu服务器上是否存在php和apache

    如何通过ssh检查Ubuntu服务器上apache是 否安装了php和mysql 另外如果安装的话在哪个目录 如果安装了其他软件包 例如 lighttpd 那么它在哪里 确定程序是否已安装的另一种方法是使用which命令 它将显示您正在搜索
  • 我可以在 PHP 会话变量中安全地存储用户名和密码吗?

    我想在 REST api 之上制作一个轻量级的 web 应用程序 用户只需进行一次身份验证 从那时起 所有针对 web api 的请求都希望通过以某种方式保持用户名和密码有效来完成 我已经做了一个工作原型我在哪里将用户名和密码存储在会话变量
  • 从字符串中获取数字

    我有一个字符串 例如 lorem 110 ipusm 我想获取 110 我已经尝试过这个 preg match all 0 9 string ret 但这正在返回 Array 0 gt 1 1 gt 1 2 gt 0 我想要这样的东西 Ar
  • PHP递归遍历对象树[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • ZF3/2 - 如何捕获 EVENT_DISPATCH 侦听器中引发的异常?

    有什么方法可以在 EVENT DISPATCH 监听器中抛出异常吗 class Module public function onBootstrap EventInterface event application event gt get
  • 如果产品重量超过1000克,如何以公斤为单位显示

    在 Storefront 主题中 我使用下面的代码将格式化重量从 1000g 更改为 1kg add action woocommerce after shop loop item title show weight 10 function

随机推荐

  • 如何 Mockk Kotlin 顶级函数?

    Mockk https mockk io允许模拟静态函数 但是如何模拟 Kotlin 顶级函数呢 例如 如果我有一个名为HelloWorld kt 我如何嘲笑sayHello 功能 HelloWorld kt fun sayHello He
  • 为什么更新 VSCode 后出现此错误?无法读取...的源映射(Node.js)

    我的程序在更新之前可以运行视觉工作室代码 更新后 为什么会出现这个错误 Could not read source map for file c Users s aytan Desktop node new Dashboard2 node
  • AngularJS 子目录路由不起作用,应用了 标签

    我有一个非常简单的 AngularJS 模板 我正在尝试让路由正常工作 但是当我加载页面时 我只看到我的 H1 标签index html 我的应用程序位于子目录中 angular route 并且我知道部分存在 我可以访问 angular
  • Ravendb 计数查询

    我需要获取特定集合中的文档计数 现有索引 Raven DocumentCollections 存储与属于该集合的实际文档配对的集合的计数和名称 如果可能的话 我想从这个索引中获取计数 这是 Raven Document Collection
  • 动态设置水晶报表仍然要求数据库登录

    我正在尝试部署Crystal Reports in my MVC应用 为了充分利用 Crystal Report Viewer 我必须使用webform 它在我的开发环境中运行得相当好 该应用程序将部署在用户的服务器上并连接到他们的个人数据
  • 为什么“break”在结束“循环”时不需要分号?

    摘自第3 5章 https doc rust lang org book ch03 05 control flow html returning values from loops 生锈之书 的内容 我们使用break带有值的关键字coun
  • 仅选择数字列进行替换

    我有一个数据框 其中包含一些数字列 一些整数列和一些因子列 我正在尝试将数据框转换为仅对数字列进行平方 但解决方案这个线程 https stackoverflow com questions 5863097 selecting only n
  • 本机应用程序和 chrome 扩展之间的连接在一段时间后中断

    我正在使用 chrome 本机消息传递 api 在我的 chrome extension 和用 c 编写的 native windows app 之间进行通信 连接建立良好 数据也得到交换 但是 在从扩展程序对本机应用程序进行随机数量的调用
  • 有没有一个工具可以删除Python中不使用的函数?

    我有以下情况 我正在开发几个使用我编写的库模块的项目 库模块包含多个类和函数 在每个项目中 都会使用库代码的某些子集 但是 当我为其他用户发布项目时 我只想泄露该项目使用的代码而不是整个模块 这意味着对于给定的项目 我希望从库代码中删除未使
  • 重新加载数据表时双重ajax调用

    我有一个像这样初始化的数据表 var initTable function datatablesresults tr not first on click function var dateandtime this find nth chi
  • df[x]、df[[x]]、df['x']、df[['x']] 和 df.x 之间的区别

    努力理解标题中 5 个示例之间的区别 系列与数据框之间有一些用例吗 什么时候应该使用其中一种而不是另一种 哪些是等价的 df x 使用变量索引列x 退货pd Series df x 使用变量对单列 DataFrame 进行索引 切片x 退货
  • 如何在mysql中左连接多个一对多表?

    我在连接 mysql 中的三个表时遇到问题 假设我们有一个名为posts我将我的条目保存在其中 我有一个名为likes我将 user id 和 post id 存储在其中 第三个表名为comments我在其中存储 user id 和 pos
  • Java 中的顺序无关哈希

    我想用Java计算一组字符串的哈希值 是的 我可以对字符串进行排序并计算 MD5哈希迭代使用digest update 但我宁愿省略排序并使用类似的东西combineUnordered https github com google gua
  • 使用 Python 计算 3D 图像的 Hessian 高斯特征值

    我有一个 3D 图像 我想计算该图像的 Hessian 或 Gaussian 特征值 我想要每个体素的 Hessian 近似的三个特征值 这个功能在图像处理中似乎很常见 是否有此功能的现有实现 例如用于拉普拉斯计算的 scipy ndima
  • 在 EC2 EBS 实例中更改 Cloudera 的 IP 地址

    我已经安装了clouderam1 large实例 我能够成功安装它 但是 一旦我停止实例并在第二天早上再次启动它 IP 就会发生变化 cloudera 仍然引用旧的 IP 并且没有任何服务运行 由于我无法全天保持实例运行 我该如何解决这个问
  • 仅解析包含字符串和值的 JSON 对象

    我在尝试解析最小值以在 Android 中进行映射时遇到问题 有一些示例 JSON 格式 其中包含更多信息 例如 id 1 name sql id 2 name android id 3 name mvc 这是最常用且易于使用的示例 只需使
  • ConcurrentHashmap 同时进行写入和获取操作

    我有一个关于 ConcurrentHashMap 的问题 假设我有 2 个线程 线程 A 尝试从共享 ConcurrentHashMap 中获取对象 线程B清除共享映射 如果线程 A 和线程 B 同时访问共享资源 会发生什么情况 我搜索了文
  • 从按下的按钮获取文本

    如何从按下的按钮获取文本 安卓 我可以从按钮获取文本 String buttonText button getText 我可以从按下的按钮获取 id int buttinID view getId 目前我不知道如何获取按下的按钮上的文本 p
  • 规划网络应用程序

    我即将开始建立新的初创公司 因此我需要您的一些指导 规划网站的最佳方法是什么 我不认为 首先设计 然后数据库关系 然后开始开发 而是 如何规划应用程序的工作方式 是否有一些经过验证的方法 例如制作网站 蓝图 的最佳方法 例如使用某种工具或其
  • Docker php:fpm—安装 php 扩展

    我用的是官方的php fpmdocker 镜像作为我的应用程序容器的基础 所以Dockerfile像这样开始 FROM php fpm 稍后在文件中我希望有类似的内容 RUN apt get install y php7 0 gd 但这告诉