繁体   English   中英

将 pdo-mysql 扩展添加到现有容器

[英]Adding pdo-mysql extension to existing container

编辑:对于任何试图获得带有扩展的 PHP 容器的人,我发现最好的解决方案是使用脚本来安装扩展。 奇迹般有效。

这是我使用的具体 dockerfile:

FROM php:8.1.0RC3-apache-buster

ADD https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/

RUN chmod +x /usr/local/bin/install-php-extensions && \
    install-php-extensions sqlsrv pdo_sqlsrv pdo_mysql

我有一个安装了 SQL 服务器扩展的现有容器,所以我正在尝试从中创建一个新容器。 这是 docker-compose:

    version: '3.1'

services:
  MageAPIDev:
    container_name: MageAPIDev
    image: mc_test:v2
    ports:
      - 200:80
    volumes:
      - ./src:/var/www/html/
      - .app:/var/app/
    command: apt-get install autoconf -y
    command: docker-php-ext-install pdo pdo_mysql
  MageAPIsql:
    container_name: MageAPIsql
    image: mysql:latest
    ports:
      - 3306:3306
    volumes:
      - ./mysql-data:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: 'PWD'
      MYSQL_USER: 'USER'
      MYSQL_PASS: 'PWD'
  composer:
    image: composer/composer
    command: install
    command: composer require experius/magento2apiclient
    volumes:
      - .app:/app

尝试这个导致:

Cannot find autoconf. Please check your autoconf installation and the
MageAPIDev    | $PHP_AUTOCONF environment variable. Then, rerun this script.

所以我尝试进入容器并手动安装 autoconf。 那行得通,但是当我尝试使用 docker docker-php-ext-install pdo pdo_mysql手动安装 MySQL 时,我得到:

creating libtool
appending configuration tag "CXX" to libtool
configure: patching config.h.in
configure: creating ./config.status
config.status: creating config.h
/usr/local/bin/docker-php-ext-install: 107: /usr/local/bin/docker-php-ext-install: make: not found

真的不想从头开始这个容器。 老实说,我弄丢了我制作的 dockerfile 表格,它有我需要的 MSsqlsrv 驱动程序。 我只是想为 MySql 安装并启用 PDO 驱动程序。

如果有人已经为 PHP 8 和 apache 制作了安装 SqlSrv 驱动程序的 dockerfile 和为 MySql 制作的 PDO,我会试一试。

对于任何试图获得带有扩展的 PHP 容器的人,我发现最好的解决方案是使用脚本来安装扩展。 奇迹般有效。

这是我使用的具体 dockerfile:

FROM php:8.1.0RC3-apache-buster

ADD https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/

RUN chmod +x /usr/local/bin/install-php-extensions && \
    install-php-extensions sqlsrv pdo_sqlsrv pdo_mysql

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM