1FROM i386/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 bison \ 31 php5 \ 32 libcurl4-openssl-dev \ 33 libssl-dev \ 34 libxml2-dev \ 35 unzip \ 36 zlib1g-dev \ 37 pkg-config \ 38 && apt-get clean 39 40# Install other dependencies 41RUN wget http://ftp.gnu.org/gnu/bison/bison-2.6.4.tar.gz -O /var/local/bison-2.6.4.tar.gz 42RUN cd /var/local \ 43 && tar -zxvf bison-2.6.4.tar.gz \ 44 && cd /var/local/bison-2.6.4 \ 45 && ./configure \ 46 && make \ 47 && make install 48 49# Install composer 50RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" 51RUN php composer-setup.php 52RUN mv composer.phar /usr/bin/composer 53RUN php -r "unlink('composer-setup.php');" 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-openssl \ 67 --with-zlib \ 68 --prefix=/usr/local/php-5.6 \ 69 && make \ 70 && make install \ 71 && make clean 72 73RUN wget -O phpunit https://phar.phpunit.de/phpunit-5.phar \ 74 && chmod +x phpunit \ 75 && mv phpunit /usr/local/php-5.6/bin 76 77# php 7.0 78RUN wget https://github.com/php/php-src/archive/php-7.0.33.tar.gz -O /var/local/php-7.0.33.tar.gz 79 80RUN cd /var/local \ 81 && tar -zxvf php-7.0.33.tar.gz 82 83RUN cd /var/local/php-src-php-7.0.33 \ 84 && ./buildconf --force \ 85 && ./configure \ 86 --enable-bcmath \ 87 --enable-mbstring \ 88 --with-openssl \ 89 --with-zlib \ 90 --prefix=/usr/local/php-7.0 \ 91 && make \ 92 && make install \ 93 && make clean 94RUN cd /var/local/php-src-php-7.0.33 \ 95 && ./buildconf --force \ 96 && ./configure \ 97 --enable-maintainer-zts \ 98 --enable-mbstring \ 99 --with-openssl \ 100 --with-zlib \ 101 --prefix=/usr/local/php-7.0-zts \ 102 && make \ 103 && make install \ 104 && make clean 105 106RUN wget -O phpunit https://phar.phpunit.de/phpunit-6.phar \ 107 && chmod +x phpunit \ 108 && cp phpunit /usr/local/php-7.0/bin \ 109 && mv phpunit /usr/local/php-7.0-zts/bin 110 111# php 7.1 112RUN wget https://github.com/php/php-src/archive/php-7.1.25.tar.gz -O /var/local/php-7.1.25.tar.gz 113 114RUN cd /var/local \ 115 && tar -zxvf php-7.1.25.tar.gz 116 117RUN cd /var/local/php-src-php-7.1.25 \ 118 && ./buildconf --force \ 119 && ./configure \ 120 --enable-bcmath \ 121 --enable-mbstring \ 122 --with-openssl \ 123 --with-zlib \ 124 --prefix=/usr/local/php-7.1 \ 125 && make \ 126 && make install \ 127 && make clean 128RUN cd /var/local/php-src-php-7.1.25 \ 129 && ./buildconf --force \ 130 && ./configure \ 131 --enable-maintainer-zts \ 132 --enable-mbstring \ 133 --with-openssl \ 134 --with-zlib \ 135 --prefix=/usr/local/php-7.1-zts \ 136 && make \ 137 && make install \ 138 && make clean 139 140RUN wget -O phpunit https://phar.phpunit.de/phpunit-7.5.0.phar \ 141 && chmod +x phpunit \ 142 && cp phpunit /usr/local/php-7.1/bin \ 143 && mv phpunit /usr/local/php-7.1-zts/bin 144 145# php 7.2 146RUN wget https://github.com/php/php-src/archive/php-7.2.13.tar.gz -O /var/local/php-7.2.13.tar.gz 147 148RUN cd /var/local \ 149 && tar -zxvf php-7.2.13.tar.gz 150 151RUN cd /var/local/php-src-php-7.2.13 \ 152 && ./buildconf --force \ 153 && ./configure \ 154 --enable-bcmath \ 155 --enable-mbstring \ 156 --with-openssl \ 157 --with-zlib \ 158 --prefix=/usr/local/php-7.2 \ 159 && make \ 160 && make install \ 161 && make clean 162RUN cd /var/local/php-src-php-7.2.13 \ 163 && ./buildconf --force \ 164 && ./configure \ 165 --enable-maintainer-zts \ 166 --enable-mbstring \ 167 --with-openssl \ 168 --with-zlib \ 169 --prefix=/usr/local/php-7.2-zts \ 170 && make \ 171 && make install \ 172 && make clean 173 174RUN wget -O phpunit https://phar.phpunit.de/phpunit-7.5.0.phar \ 175 && chmod +x phpunit \ 176 && cp phpunit /usr/local/php-7.2/bin \ 177 && mv phpunit /usr/local/php-7.2-zts/bin 178 179# php 7.3 180RUN wget https://github.com/php/php-src/archive/php-7.3.0.tar.gz -O /var/local/php-7.3.0.tar.gz 181 182RUN cd /var/local \ 183 && tar -zxvf php-7.3.0.tar.gz 184 185RUN cd /var/local/php-src-php-7.3.0 \ 186 && ./buildconf --force \ 187 && ./configure \ 188 --enable-bcmath \ 189 --enable-mbstring \ 190 --with-openssl \ 191 --with-zlib \ 192 --prefix=/usr/local/php-7.3 \ 193 && make \ 194 && make install \ 195 && make clean 196RUN cd /var/local/php-src-php-7.3.0 \ 197 && ./buildconf --force \ 198 && ./configure \ 199 --enable-maintainer-zts \ 200 --enable-mbstring \ 201 --with-openssl \ 202 --with-zlib \ 203 --prefix=/usr/local/php-7.3-zts \ 204 && make \ 205 && make install \ 206 && make clean 207 208RUN wget -O phpunit https://phar.phpunit.de/phpunit-7.5.0.phar \ 209 && chmod +x phpunit \ 210 && cp phpunit /usr/local/php-7.3/bin \ 211 && mv phpunit /usr/local/php-7.3-zts/bin 212 213# php 7.4 214RUN wget https://ftp.gnu.org/gnu/bison/bison-3.0.1.tar.gz -O /var/local/bison-3.0.1.tar.gz 215RUN cd /var/local \ 216 && tar -zxvf bison-3.0.1.tar.gz \ 217 && cd /var/local/bison-3.0.1 \ 218 && ./configure \ 219 && make \ 220 && make install 221 222RUN wget https://github.com/php/php-src/archive/php-7.4.0.tar.gz -O /var/local/php-7.4.0.tar.gz 223 224RUN cd /var/local \ 225 && tar -zxvf php-7.4.0.tar.gz 226 227RUN cd /var/local/php-src-php-7.4.0 \ 228 && ./buildconf --force \ 229 && ./configure \ 230 --enable-bcmath \ 231 --enable-mbstring \ 232 --disable-mbregex \ 233 --with-openssl \ 234 --with-zlib \ 235 --prefix=/usr/local/php-7.4 \ 236 && make \ 237 && make install \ 238 && make clean 239RUN cd /var/local/php-src-php-7.4.0 \ 240 && ./buildconf --force \ 241 && ./configure \ 242 --enable-maintainer-zts \ 243 --enable-mbstring \ 244 --disable-mbregex \ 245 --with-openssl \ 246 --with-zlib \ 247 --prefix=/usr/local/php-7.4-zts \ 248 && make \ 249 && make install \ 250 && make clean 251 252RUN wget -O phpunit https://phar.phpunit.de/phpunit-8.phar \ 253 && chmod +x phpunit \ 254 && cp phpunit /usr/local/php-7.4/bin \ 255 && mv phpunit /usr/local/php-7.4-zts/bin 256 257# Install php dependencies 258RUN apt-get clean && apt-get update && apt-get install -y --force-yes \ 259 valgrind \ 260 && apt-get clean 261