125 lines
2.5 KiB
Docker
125 lines
2.5 KiB
Docker
|
FROM debian:stretch
|
||
|
|
||
|
# Install dependencies. We start with the basic ones require to build protoc
|
||
|
# and the C++ build
|
||
|
RUN apt-get update && apt-get install -y \
|
||
|
autoconf \
|
||
|
autotools-dev \
|
||
|
build-essential \
|
||
|
bzip2 \
|
||
|
ccache \
|
||
|
curl \
|
||
|
gcc \
|
||
|
git \
|
||
|
libc6 \
|
||
|
libc6-dbg \
|
||
|
libc6-dev \
|
||
|
libgtest-dev \
|
||
|
libtool \
|
||
|
make \
|
||
|
parallel \
|
||
|
time \
|
||
|
wget \
|
||
|
re2c \
|
||
|
sqlite3 \
|
||
|
vim \
|
||
|
libonig-dev \
|
||
|
libsqlite3-dev \
|
||
|
&& apt-get clean
|
||
|
|
||
|
# Install php dependencies
|
||
|
RUN apt-get clean && apt-get update && apt-get install -y --force-yes \
|
||
|
php \
|
||
|
libcurl4-openssl-dev \
|
||
|
libgmp-dev \
|
||
|
libgmp3-dev \
|
||
|
libssl-dev \
|
||
|
libxml2-dev \
|
||
|
unzip \
|
||
|
zlib1g-dev \
|
||
|
pkg-config \
|
||
|
&& apt-get clean
|
||
|
|
||
|
# Install other dependencies
|
||
|
RUN ln -sf /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h
|
||
|
RUN wget https://ftp.gnu.org/gnu/bison/bison-3.0.1.tar.gz -O /var/local/bison-3.0.1.tar.gz
|
||
|
RUN cd /var/local \
|
||
|
&& tar -zxvf bison-3.0.1.tar.gz \
|
||
|
&& cd /var/local/bison-3.0.1 \
|
||
|
&& ./configure \
|
||
|
&& make \
|
||
|
&& make install
|
||
|
|
||
|
# Install composer
|
||
|
RUN curl -sS https://getcomposer.org/installer | php
|
||
|
RUN mv composer.phar /usr/local/bin/composer
|
||
|
|
||
|
# Download php source code
|
||
|
RUN git clone https://github.com/php/php-src
|
||
|
|
||
|
# php 8.0
|
||
|
RUN cd php-src \
|
||
|
&& git checkout php-8.0.0 \
|
||
|
&& ./buildconf --force
|
||
|
RUN cd php-src \
|
||
|
&& ./configure \
|
||
|
--enable-bcmath \
|
||
|
--enable-mbstring \
|
||
|
--with-gmp \
|
||
|
--with-openssl \
|
||
|
--with-zlib \
|
||
|
--prefix=/usr/local/php-8.0 \
|
||
|
&& make \
|
||
|
&& make install \
|
||
|
&& make clean
|
||
|
RUN cd php-src \
|
||
|
&& ./configure \
|
||
|
--enable-bcmath \
|
||
|
--enable-mbstring \
|
||
|
--enable-maintainer-zts \
|
||
|
--with-gmp \
|
||
|
--with-openssl \
|
||
|
--with-zlib \
|
||
|
--prefix=/usr/local/php-8.0-zts \
|
||
|
&& make \
|
||
|
&& make install \
|
||
|
&& make clean
|
||
|
|
||
|
RUN wget -O phpunit https://phar.phpunit.de/phpunit-9.phar \
|
||
|
&& chmod +x phpunit \
|
||
|
&& cp phpunit /usr/local/php-8.0/bin \
|
||
|
&& mv phpunit /usr/local/php-8.0-zts/bin
|
||
|
|
||
|
# php 8.1
|
||
|
RUN cd php-src \
|
||
|
&& git checkout php-8.1.2 \
|
||
|
&& ./buildconf --force
|
||
|
RUN cd php-src \
|
||
|
&& ./configure \
|
||
|
--enable-bcmath \
|
||
|
--enable-mbstring \
|
||
|
--with-gmp \
|
||
|
--with-openssl \
|
||
|
--with-zlib \
|
||
|
--prefix=/usr/local/php-8.1 \
|
||
|
&& make \
|
||
|
&& make install \
|
||
|
&& make clean
|
||
|
RUN cd php-src \
|
||
|
&& ./configure \
|
||
|
--enable-bcmath \
|
||
|
--enable-mbstring \
|
||
|
--enable-maintainer-zts \
|
||
|
--with-gmp \
|
||
|
--with-openssl \
|
||
|
--with-zlib \
|
||
|
--prefix=/usr/local/php-8.1-zts \
|
||
|
&& make \
|
||
|
&& make install \
|
||
|
&& make clean
|
||
|
|
||
|
# Install php dependencies
|
||
|
RUN apt-get clean && apt-get update && apt-get install -y --force-yes \
|
||
|
valgrind \
|
||
|
&& apt-get clean
|