SOFTELメモ Developer's blog

CentOS6 32bit版のdockerイメージでphp4環境を作る

2022/10/30 server ,

問題

dockerを使ってphp4環境を作れますか。

答え

CentOS6 32bit版のdockerイメージに必要なパッケージをインストールして、php4をコンパイルした例。

php4環境を作れるのを確認した時の雑なメモ。やればできるのは確認できた。

FROM docker.io/i386/centos:6
COPY src /tmp/src/
RUN mv /tmp/src/CentOS-Base.i386.repo /etc/yum.repos.d/CentOS-Base.repo \
        && yum install -y epel-release \
        && yum update -y \
        && yum install -y gcc make flex zlib-devel curl-devel libjpeg-devel libpng-devel  libc-client-devel libmcrypt.i686 libmcrypt-devel.i686 \
        && yum install -y mysql-devel mysql-libs httpd httpd-devel \
        && yum clean all \
        && ln -s /usr/lib/mysql/libmysqlclient.so /usr/lib/libmysqlclient.so \
        && cd /tmp/src/php-4.4.9 \
        && './configure' '--with-apxs2' '--enable-zend-multibyte' '--enable-mbstring' '--enable-mbstr-enc-trans' '--enable-mbregex' '--with-gd' '--with-jpeg-dir=/usr' '--with-zlib=/usr' '--with-png-dir=/usr' '--enable-iconv' '--enable-bcmath' '--enable-ftp' '--with-regex=php' '--with-mysql=/usr' '--with-curl' '--with-mysqli' '--with-pdo-mysql' '--with-imap' '--with-imap-ssl=/usr' '--with-mcrypt' '--enable-memory-limit' '--with-openssl' '--with-kerberos' \
        && make && make install \
        && mv /tmp/src/httpd.conf /etc/httpd/conf/ \
        && mv /tmp/src/php.ini /usr/local/lib/ \
        && rm -rf /tmp/src/

./src/ には以下を用意してからbuildする。

CentOS-Base.i386.repo ← CentOS6がサポート終了しているので書き換え
httpd.conf
php-4.4.9/ ← opensslバージョンアップに対応させたソース
php.ini

COPYやADDを繰り返すとレイヤーが増えていくので、なるべく少ない手数にまとめるようにしている。

関連するメモ

コメント