php - Docker 和命令 docker-php

标签 php linux docker ubuntu

继我之前的post .
我设法通过 pecl 安装了 oci8-2.2.0。
现在我有一个问题,我无法启动命令:

docker-php-ext- *
它总是给我一个错误:
/ bin / sh: 1: docker-php-ext-configure: not found
在我的 Dockerfile 中:
FROM ubuntu:latest

COPY --from=library/docker:latest /usr/local/bin/docker /usr/bin/docker
COPY --from=docker/compose:latest /usr/local/bin/docker-compose /usr/bin/docker-compose
我安装了必要的软件包:
RUN apt-get install -y \
    apache2 \
    libapache2-mod-php \
    libldap2-dev \
    vim \
    curl \
    git \
    openssl \
    bash \
    mysql-client \
    g++ \
    gcc \
    make \
    libaio1 \
    wget \
    unzip \
    libapache2-mod-php7.4 \
    software-properties-common \
    systemtap-sdt-dev \
    build-essential \
    libcurl4-gnutls-dev \
    unixodbc-dev \
    net-tools
我安装 PHP 依赖项:
RUN apt-add-repository -y ppa:ondrej/php
RUN apt-get update
RUN apt-get install -y \
     php7.4 \
     php7.4-fpm \
     php7.4-xml \
     php-common \
     php7.4-gd \
     php7.4-mbstring \
     php7.4-gd \
     php7.4-iconv \
     php7.4-pdo \
     php7.4-tokenizer \
     php7.4-mysql \
     php-ldap \
     php7.4-ldap \
     php7.4-fileinfo \
     php7.4-simplexml \
     php7.4-xmlwriter \
     php7.4-zip \
     php7.4-json \
     php-dev \
     php-pear
最后,在安装 Oracle Instant Client 后启动命令:
# Oracle instantclient
RUN export PHP_DTRACE=yes
ADD instantclient-basic-linux.x64-12.2.0.1.0.zip /tmp/
ADD instantclient-sdk-linux.x64-12.2.0.1.0.zip /tmp/
RUN unzip /tmp/instantclient-basic-linux.x64-12.2.0.1.0.zip -d /usr/local/
RUN unzip /tmp/instantclient-sdk-linux.x64-12.2.0.1.0.zip -d /usr/local/
RUN mv /usr/local/instantclient_12_2 /usr/local/instantclient
RUN ln -s /usr/local/instantclient/libclntsh.so.12.1 /usr/local/instantclient/libclntsh.so
RUN ln -s /usr/local/instantclient/libocci.so.12.1 /usr/local/instantclient/libocci.so

ENV LD_LIBRARY_PATH=/usr/local/instantclient

RUN echo "instantclient,/usr/local/instantclient"| pecl install oci8-2.2.0

RUN docker-php-ext-configure pdo_oci --with-pdo-oci=instantclient,/usr/local/instantclient
RUN docker-php-ext-install pdo_oci
RUN docker-php-ext-enable oci8-2.2.0
Docker 找到 docker-php-ext- 命令的任何想法?
BR

最佳答案

命令 docker-php-ext- *PHP 提供的帮助脚本图片。但是您使用的是 ubuntu:latest图像,其中不包含它们。
您可以使用来自 php 图像的脚本,例如 that一。但我认为使用 php docker images 更容易。

关于php - Docker 和命令 docker-php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65127133/

相关文章:

linux - 使用mailx时如何重命名附件?

angular - 在运行时读取 Angular 中的服务器环境变量

docker - 多重依赖? Dockerfiles 构建 LAMP 容器

php - 为什么有些变量需要引号而有些不需要

python - pip 和 pip3 - 都指向 python3.5?

php - mysql - 查询显示刚刚添加的记录

c - 如何从进程内存镜像创建 ELF 可执行文件

docker - 如何从容器使用root用户?

php - 我在使用 Azure 登录时跳过了权限请求接口(interface)。提供了 'Grant admin consent' 权限。但 MFA 现在禁用

php - Insert Into on DUPLICATE KEY 更新错误