php - Docker php——安装 php 扩展 ssh2
问题描述
我使用官方的 php docker 镜像作为我的应用程序容器的基础,所以 Dockerfile 像这样开始:
FROM php:5.6-fpm-jessie
在文件的后面,我想要这样的东西:
RUN apt-get update \
&& apt-get install -y libssh2-1-dev libssh2-1 \
&& docker-php-ext-install ssh2
但这告诉我:
/usr/src/php/ext/ssh2 does not exist
因此,由于这是一个基于 debian (yessie) 的映像,因此只有旧的 php5 包可用,并且 php7 是由php:fpm dockerfile中的一些棘手脚本安装的,并且所有扩展都在使用的 php 可执行文件中编译。
在这种情况下如何安装更多扩展?
解决方案
对于 Alpine 和 php > 7
RUN apk add --no-cache libssh2-dev autoconf build-base
RUN pecl install ssh2-1.2 && docker-php-ext-enable ssh2
推荐阅读
- delphi - Delphi,在 where 条件中带有 DetailFields 的 Master-Detail(不在选择部分中)
- azure-timeseries-insights - Azure 时序见解的底层数据库/存储是什么?
- java - Java/Android:在数组中解析没有单个字符串的 JSON
- react-native - 在没有 aws amplify 的情况下在博览会 ImagePicker 中上传图像
- javascript - javascript文件的浏览器缓存失效而不更改src URL
- spring-data-jpa - Spring with Querydsl:java.lang.ClassCastException
- r - 使用 ggplotly 的地图显示不正确(R)
- excel - 选中一个框会取消选中 Excel 中的相邻框
- java - 如何使用 Spring Boot 和 MongoDB 生成 8 位唯一编号?
- python - 有什么方法可以改变注册的 Django-rest-auth 的视图吗?