首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Docker中使用php7.2和pdo_informix生成图像?

如何在Docker中使用php7.2和pdo_informix生成图像?
EN

Stack Overflow用户
提问于 2018-08-20 22:45:02
回答 2查看 1.5K关注 0票数 3

我正试图用apache2在对接器中创建一个映像,用pdo_informix在php7.2中创建一个映像,但是我没有成功,我只是没有看到扩展启用,我不知道我是否做错了一步。

我分享了到目前为止在以下存储库中的内容:这里

文档:

代码语言:javascript
复制
FROM ibmcom/informix-developer-database
USER root
RUN sudo rm /var/lib/apt/lists/lock
RUN sudo apt-get update && sudo apt-get -y upgrade
RUN sudo apt-get install -y tzdata
RUN sudo apt-get install git nodejs npm composer nano tree vim curl ftp -y
ENV TZ=America/Bogota
ENV LICENSE=accept
RUN sudo apt-get -y install apache2
RUN sudo apt-get install -y \
        php \
        php-bz2 \
        php-cgi \
        php-cli \
        php-common \
        php-curl \
        php-dev \
        php-enchant \
        php-fpm \
        php-gd \
        php-gmp \
        php-imap \
        php-interbase \
        php-intl \
        php-json \
        php-ldap \
        php-mbstring \
        php-mysql \
        php-odbc \
        php-opcache \
        php-pgsql \
        php-phpdbg \
        php-pspell \
        php-readline \
        php-recode \
        php-soap \
        php-snmp \
        php-sqlite3 \
        php-sybase \
        php-tidy \
        php-xmlrpc \
        php-xsl \
        php-zip
RUN sudo apt-get install -y libapache2-mod-php
RUN sudo apt-get update && sudo apt-get -y upgrade

VOLUME /var/www/html

COPY  index.php /var/www/html

ENV INFORMIXDIR /opt/ibm/informix
ENV PATH $INFORMIXDIR/bin:$PATH

COPY scripts/PDO_INFORMIX-1.3.3.tgz /tmp
COPY scripts/install-informixpdo.sh /tmp
RUN sudo sh /tmp/install-informixpdo.sh

#Informix environment variables for Apache
COPY scripts/envvars.sh /tmp
RUN sudo sh /tmp/envvars.sh
RUN echo "extension=pdo_informix.so" >> /etc/php/7.2/apache2/conf.d/pdo.ini
RUN sudo echo "sqlexec  9088/tcp\nsqlexec-ssl  9089/tcp" >> /etc/services

EXPOSE 80

install-informixpdo.sh:

代码语言:javascript
复制
PDO_DIRECTORY=PDO_INFORMIX-1.3.3
PDO_FILENAME=$PDO_DIRECTORY.tgz

TMPDIR=/tmp
tar  -xvf $TMPDIR/$PDO_FILENAME  -C $TMPDIR/
cd  $TMPDIR/$PDO_DIRECTORY
phpize  &&  ./configure  && make  &&  make install

rm -r $TMPDIR/*

envvars.sh:

代码语言:javascript
复制
echo "INFORMIXDIR=/opt/ibm/informix
export INFORMIXDIR
DB_LOCALE=es_es.8859-1
export DB_LOCALE
" >> /etc/apache2/envvars
EN

回答 2

Stack Overflow用户

发布于 2018-08-21 01:26:56

Dockerfile中,使用docker-php-ext-install命令安装php扩展或模块。如果使用reguler apt-get install命令,则应添加步骤来启用它。参见下面的示例,如何使用该命令:

代码语言:javascript
复制
FROM php:7.2-fpm

RUN apt-get update && apt-get install -y wget curl libxml2-dev libssl-dev zlib1g-dev apt-transport-https lsb-release ca-certificates \
    && wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg \
    && echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php.list \
    && docker-php-ext-install mbstring iconv xml pdo_mysql phar zip \

docker-php-ext-install将自动安装并启用扩展。希望能帮上忙。

票数 0
EN

Stack Overflow用户

发布于 2019-01-15 14:41:04

我设法从一个琼·里维拉的例子映像中获得了一个受php:7.2-apache启发的容器:

informix

我刚刚在一个遗留的Informix7.2数据库上成功地测试了它。

我从IBM wbesite获得了用于Linux86-64的客户端SDK版本4.10 IBM wbesite

一旦环境变量正确,设置就非常简单了。

在编译PDO_Informix 1.3.3PECL扩展时,我收到了一些警告,但它仍然有效。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51939425

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档