Docker 编译安装php8

作者: Renew全栈工程师 | 来源:发表于2021-07-03 16:29 被阅读0次

1.保存成 Dockerfile 文件

FROM ubuntu
ARG DEBIAN_FRONTEND=noninteractive
ENV TZ=Asia/Shanghai
RUN sed -i s@/archive.ubuntu.com/@/mirrors.aliyun.com/@g /etc/apt/sources.list
RUN apt-get clean \
 && apt-get update \
 && apt-get upgrade -y

RUN apt-get install -y wget curl

RUN apt-get install -y pkg-config build-essential  \
    autoconf bison re2c libxml2-dev libsqlite3-dev libcurl4-gnutls-dev \
    libjpeg-dev libpng-dev libmcrypt-dev  libreadline6-dev libfreetype6-dev \
    libtidy-dev libtool valgrind openssl libssl-dev libzip-dev libwebp-dev \
    libxpm-dev

RUN cd /var/tmp/ \
 && wget -c http://github.com/kkos/oniguruma/archive/v6.9.4.tar.gz -O oniguruma-6.9.4.tar.gz \
 && tar -zxvf oniguruma-6.9.4.tar.gz \
 && cd oniguruma-6.9.4/ \
 && ./autogen.sh \
 && ./configure \
 && make -j6 \
 && make install

RUN cd /var/tmp/ \
 && wget -c http://github.com/php/php-src/archive/refs/tags/php-8.0.8.tar.gz \
 && tar -zxvf php-8.0.8.tar.gz \
 && cd php-src-php-8.0.8/ \
 && ./buildconf --force \
 && ./configure \
     --prefix=/usr/local/php \
     --with-config-file-path=/usr/local/php/etc \
     --enable-fpm \
     --with-fpm-user=www \
     --with-fpm-group=www \
     --enable-rpath \
     --enable-re2c-cgoto \
     --enable-gcc-global-regs \
     --enable-phpdbg \
     --with-valgrind \
     --enable-zts \
     --with-openssl \
     --with-zlib \
     --enable-bcmath \
     --enable-calendar \
     --with-curl \
     --enable-ftp \
     --enable-gd  \
     --with-webp \
     --with-jpeg \
     --with-xpm \
     --with-freetype \
     --with-gettext \
     --with-mhash \
     --enable-intl \
     --with-ldap-sasl \
     --enable-mbstring \
     --with-mysqli=mysqlnd \
     --enable-pcntl \
     --with-pdo-mysql=mysqlnd \
     --enable-soap \
     --enable-sockets \
     --enable-sysvmsg \
     --enable-sysvsem \
     --enable-sysvshm \
     --with-tidy \
     --enable-zend-test \
     --with-zip \
     --enable-mysqlnd \
     --with-pear \
 && make -j6 \
 && make install \
 && ln -s /usr/local/php/sbin/* /usr/local/bin/ \
 && ln -s /usr/local/php/bin/* /usr/local/bin/ \
 && cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf \
 && cp /usr/local/php/etc/php-fpm.d/www.conf.default  /usr/local/php/etc/php-fpm.d/www.conf \
 && groupadd www \
 && useradd -g www www \
 && php-fpm

2.编译成镜像

docker build -f ./Dockerfile t php8 .

如果需要nginx redis,可以吧下面的代码插入到上面的Dockefile 文件底部

RUN cd /var/tmp/ \
 && wget -c http://download.redis.io/releases/redis-6.2.4.tar.gz \
 && tar -xvf redis-6.2.4.tar.gz \
 && mv redis-6.2.4 redis \
 && cd redis \
 && make -j6 \
 && make install \
 && ln /usr/local/redis/bin/* /usr/local/bin

RUN cd /var/tmp/ \
 && wget -c http://nginx.org/download/nginx-1.17.3.tar.gz \
 && tar -zxvf nginx-1.17.3.tar.gz \
 && cd nginx-1.17.3 \
 && apt-get install -y libpcre3-dev aptitude zlib1g.dev \
 && ./configure \
  --prefix=/usr/local/nginx \
  --with-http_stub_status_module \
  --with-http_ssl_module \
  --with-file-aio \
  --with-http_realip_module \
 && make -j6 \
 && make install \
 && ln /usr/local/nginx/sbin/nginx /usr/local/bin \
 && nginx

相关文章

网友评论

    本文标题:Docker 编译安装php8

    本文链接:https://www.haomeiwen.com/subject/slnuultx.html