| 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 |