Dockerfile 5.9 KB

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