1FROM debian:jessie 2 3# Install dependencies. We start with the basic ones require to build protoc 4# and the C++ build 5RUN apt-get update && apt-get install -y \ 6 autoconf \ 7 autotools-dev \ 8 build-essential \ 9 bzip2 \ 10 ccache \ 11 curl \ 12 gcc \ 13 git \ 14 libc6 \ 15 libc6-dbg \ 16 libc6-dev \ 17 libgtest-dev \ 18 libtool \ 19 make \ 20 parallel \ 21 time \ 22 wget \ 23 re2c \ 24 sqlite3 \ 25 libsqlite3-dev \ 26 && apt-get clean 27 28# Install php dependencies 29RUN apt-get clean && apt-get update && apt-get install -y --force-yes \ 30 php5 \ 31 libcurl4-openssl-dev \ 32 libgmp-dev \ 33 libgmp3-dev \ 34 libssl-dev \ 35 libxml2-dev \ 36 unzip \ 37 zlib1g-dev \ 38 pkg-config \ 39 && apt-get clean 40 41# Install other dependencies 42RUN ln -sf /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h 43RUN wget http://ftp.gnu.org/gnu/bison/bison-2.6.4.tar.gz -O /var/local/bison-2.6.4.tar.gz 44RUN cd /var/local \ 45 && tar -zxvf bison-2.6.4.tar.gz \ 46 && cd /var/local/bison-2.6.4 \ 47 && ./configure \ 48 && make \ 49 && make install 50 51# Install composer 52RUN curl -sS https://getcomposer.org/installer | php 53RUN mv composer.phar /usr/local/bin/composer 54 55# Download php source code 56RUN git clone https://github.com/php/php-src 57 58# php 5.6 59RUN cd php-src \ 60 && git checkout PHP-5.6.39 \ 61 && ./buildconf --force 62RUN cd php-src \ 63 && ./configure \ 64 --enable-bcmath \ 65 --enable-mbstring \ 66 --with-gmp \ 67 --with-openssl \ 68 --with-zlib \ 69 --prefix=/usr/local/php-5.6 \ 70 && make \ 71 && make install \ 72 && make clean 73 74RUN wget -O phpunit https://phar.phpunit.de/phpunit-5.phar \ 75 && chmod +x phpunit \ 76 && mv phpunit /usr/local/php-5.6/bin 77 78# php 7.0 79RUN cd php-src \ 80 && git checkout PHP-7.0.33 \ 81 && ./buildconf --force 82RUN cd php-src \ 83 && ./configure \ 84 --enable-bcmath \ 85 --enable-mbstring \ 86 --with-gmp \ 87 --with-openssl \ 88 --with-zlib \ 89 --prefix=/usr/local/php-7.0 \ 90 && make \ 91 && make install \ 92 && make clean 93RUN cd php-src \ 94 && ./configure \ 95 --enable-maintainer-zts \ 96 --enable-mbstring \ 97 --with-gmp \ 98 --with-openssl \ 99 --with-zlib \ 100 --prefix=/usr/local/php-7.0-zts \ 101 && make \ 102 && make install \ 103 && make clean 104 105RUN wget -O phpunit https://phar.phpunit.de/phpunit-6.phar \ 106 && chmod +x phpunit \ 107 && cp phpunit /usr/local/php-7.0/bin \ 108 && mv phpunit /usr/local/php-7.0-zts/bin 109 110# php 7.1 111RUN cd php-src \ 112 && git checkout PHP-7.1.25 \ 113 && ./buildconf --force 114RUN cd php-src \ 115 && ./configure \ 116 --enable-bcmath \ 117 --enable-mbstring \ 118 --with-gmp \ 119 --with-openssl \ 120 --with-zlib \ 121 --prefix=/usr/local/php-7.1 \ 122 && make \ 123 && make install \ 124 && make clean 125RUN cd php-src \ 126 && ./configure \ 127 --enable-maintainer-zts \ 128 --enable-mbstring \ 129 --with-gmp \ 130 --with-openssl \ 131 --with-zlib \ 132 --prefix=/usr/local/php-7.1-zts \ 133 && make \ 134 && make install \ 135 && make clean 136 137RUN wget -O phpunit https://phar.phpunit.de/phpunit-7.5.0.phar \ 138 && chmod +x phpunit \ 139 && cp phpunit /usr/local/php-7.1/bin \ 140 && mv phpunit /usr/local/php-7.1-zts/bin 141 142# php 7.2 143RUN cd php-src \ 144 && git checkout PHP-7.2.13 \ 145 && ./buildconf --force 146RUN cd php-src \ 147 && ./configure \ 148 --enable-bcmath \ 149 --enable-mbstring \ 150 --with-gmp \ 151 --with-openssl \ 152 --with-zlib \ 153 --prefix=/usr/local/php-7.2 \ 154 && make \ 155 && make install \ 156 && make clean 157RUN cd php-src \ 158 && ./configure \ 159 --enable-maintainer-zts \ 160 --enable-mbstring \ 161 --with-gmp \ 162 --with-openssl \ 163 --with-zlib \ 164 --prefix=/usr/local/php-7.2-zts \ 165 && make \ 166 && make install \ 167 && make clean 168 169RUN wget -O phpunit https://phar.phpunit.de/phpunit-7.5.0.phar \ 170 && chmod +x phpunit \ 171 && cp phpunit /usr/local/php-7.2/bin \ 172 && mv phpunit /usr/local/php-7.2-zts/bin 173 174# php 7.3 175RUN cd php-src \ 176 && git checkout PHP-7.3.0 \ 177 && ./buildconf --force 178RUN cd php-src \ 179 && ./configure \ 180 --enable-bcmath \ 181 --enable-mbstring \ 182 --with-gmp \ 183 --with-openssl \ 184 --with-zlib \ 185 --prefix=/usr/local/php-7.3 \ 186 && make \ 187 && make install \ 188 && make clean 189RUN cd php-src \ 190 && ./configure \ 191 --enable-maintainer-zts \ 192 --enable-mbstring \ 193 --with-gmp \ 194 --with-openssl \ 195 --with-zlib \ 196 --prefix=/usr/local/php-7.3-zts \ 197 && make \ 198 && make install \ 199 && make clean 200 201RUN wget -O phpunit https://phar.phpunit.de/phpunit-7.5.0.phar \ 202 && chmod +x phpunit \ 203 && cp phpunit /usr/local/php-7.3/bin \ 204 && mv phpunit /usr/local/php-7.3-zts/bin 205 206# php 7.4 207RUN wget https://ftp.gnu.org/gnu/bison/bison-3.0.1.tar.gz -O /var/local/bison-3.0.1.tar.gz 208RUN cd /var/local \ 209 && tar -zxvf bison-3.0.1.tar.gz \ 210 && cd /var/local/bison-3.0.1 \ 211 && ./configure \ 212 && make \ 213 && make install 214 215RUN wget https://github.com/php/php-src/archive/php-7.4.0.tar.gz -O /var/local/php-7.4.0.tar.gz 216 217RUN cd /var/local \ 218 && tar -zxvf php-7.4.0.tar.gz 219 220RUN cd /var/local/php-src-php-7.4.0 \ 221 && ./buildconf --force \ 222 && ./configure \ 223 --enable-bcmath \ 224 --enable-mbstring \ 225 --disable-mbregex \ 226 --with-gmp \ 227 --with-openssl \ 228 --with-zlib \ 229 --prefix=/usr/local/php-7.4 \ 230 && make \ 231 && make install \ 232 && make clean 233RUN cd /var/local/php-src-php-7.4.0 \ 234 && ./buildconf --force \ 235 && ./configure \ 236 --enable-maintainer-zts \ 237 --enable-mbstring \ 238 --disable-mbregex \ 239 --with-gmp \ 240 --with-openssl \ 241 --with-zlib \ 242 --prefix=/usr/local/php-7.4-zts \ 243 && make \ 244 && make install \ 245 && make clean 246 247RUN wget -O phpunit https://phar.phpunit.de/phpunit-8.phar \ 248 && chmod +x phpunit \ 249 && cp phpunit /usr/local/php-7.4/bin \ 250 && mv phpunit /usr/local/php-7.4-zts/bin 251 252# Install php dependencies 253RUN apt-get clean && apt-get update && apt-get install -y --force-yes \ 254 valgrind \ 255 && apt-get clean 256