我正试图用apache2在对接器中创建一个映像,用pdo_informix在php7.2中创建一个映像,但是我没有成功,我只是没有看到扩展启用,我不知道我是否做错了一步。
我分享了到目前为止在以下存储库中的内容:这里
文档:
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 80install-informixpdo.sh:
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:
echo "INFORMIXDIR=/opt/ibm/informix
export INFORMIXDIR
DB_LOCALE=es_es.8859-1
export DB_LOCALE
" >> /etc/apache2/envvars发布于 2018-08-21 01:26:56
在Dockerfile中,使用docker-php-ext-install命令安装php扩展或模块。如果使用reguler apt-get install命令,则应添加步骤来启用它。参见下面的示例,如何使用该命令:
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将自动安装并启用扩展。希望能帮上忙。
发布于 2019-01-15 14:41:04
我设法从一个琼·里维拉的例子映像中获得了一个受php:7.2-apache启发的容器:
我刚刚在一个遗留的Informix7.2数据库上成功地测试了它。
我从IBM wbesite获得了用于Linux86-64的客户端SDK版本4.10 IBM wbesite。
一旦环境变量正确,设置就非常简单了。
在编译PDO_Informix 1.3.3PECL扩展时,我收到了一些警告,但它仍然有效。
https://stackoverflow.com/questions/51939425
复制相似问题