Dockerfile 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239
  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 7.0
  51. RUN wget https://github.com/php/php-src/archive/php-7.0.33.tar.gz -O /var/local/php-7.0.33.tar.gz
  52. RUN cd /var/local \
  53. && tar -zxvf php-7.0.33.tar.gz
  54. RUN cd /var/local/php-src-php-7.0.33 \
  55. && ./buildconf --force \
  56. && ./configure \
  57. --enable-bcmath \
  58. --enable-mbstring \
  59. --with-openssl \
  60. --with-zlib \
  61. --prefix=/usr/local/php-7.0 \
  62. && make \
  63. && make install \
  64. && make clean
  65. RUN cd /var/local/php-src-php-7.0.33 \
  66. && ./buildconf --force \
  67. && ./configure \
  68. --enable-maintainer-zts \
  69. --enable-mbstring \
  70. --with-openssl \
  71. --with-zlib \
  72. --prefix=/usr/local/php-7.0-zts \
  73. && make \
  74. && make install \
  75. && make clean
  76. RUN wget -O phpunit https://phar.phpunit.de/phpunit-6.phar \
  77. && chmod +x phpunit \
  78. && cp phpunit /usr/local/php-7.0/bin \
  79. && mv phpunit /usr/local/php-7.0-zts/bin
  80. # php 7.1
  81. RUN wget https://github.com/php/php-src/archive/php-7.1.25.tar.gz -O /var/local/php-7.1.25.tar.gz
  82. RUN cd /var/local \
  83. && tar -zxvf php-7.1.25.tar.gz
  84. RUN cd /var/local/php-src-php-7.1.25 \
  85. && ./buildconf --force \
  86. && ./configure \
  87. --enable-bcmath \
  88. --enable-mbstring \
  89. --with-openssl \
  90. --with-zlib \
  91. --prefix=/usr/local/php-7.1 \
  92. && make \
  93. && make install \
  94. && make clean
  95. RUN cd /var/local/php-src-php-7.1.25 \
  96. && ./buildconf --force \
  97. && ./configure \
  98. --enable-maintainer-zts \
  99. --enable-mbstring \
  100. --with-openssl \
  101. --with-zlib \
  102. --prefix=/usr/local/php-7.1-zts \
  103. && make \
  104. && make install \
  105. && make clean
  106. RUN wget -O phpunit https://phar.phpunit.de/phpunit-7.5.0.phar \
  107. && chmod +x phpunit \
  108. && cp phpunit /usr/local/php-7.1/bin \
  109. && mv phpunit /usr/local/php-7.1-zts/bin
  110. # php 7.2
  111. RUN wget https://github.com/php/php-src/archive/php-7.2.13.tar.gz -O /var/local/php-7.2.13.tar.gz
  112. RUN cd /var/local \
  113. && tar -zxvf php-7.2.13.tar.gz
  114. RUN cd /var/local/php-src-php-7.2.13 \
  115. && ./buildconf --force \
  116. && ./configure \
  117. --enable-bcmath \
  118. --enable-mbstring \
  119. --with-openssl \
  120. --with-zlib \
  121. --prefix=/usr/local/php-7.2 \
  122. && make \
  123. && make install \
  124. && make clean
  125. RUN cd /var/local/php-src-php-7.2.13 \
  126. && ./buildconf --force \
  127. && ./configure \
  128. --enable-maintainer-zts \
  129. --enable-mbstring \
  130. --with-openssl \
  131. --with-zlib \
  132. --prefix=/usr/local/php-7.2-zts \
  133. && make \
  134. && make install \
  135. && make clean
  136. RUN wget -O phpunit https://phar.phpunit.de/phpunit-7.5.0.phar \
  137. && chmod +x phpunit \
  138. && cp phpunit /usr/local/php-7.2/bin \
  139. && mv phpunit /usr/local/php-7.2-zts/bin
  140. # php 7.3
  141. RUN wget https://github.com/php/php-src/archive/php-7.3.0.tar.gz -O /var/local/php-7.3.0.tar.gz
  142. RUN cd /var/local \
  143. && tar -zxvf php-7.3.0.tar.gz
  144. RUN cd /var/local/php-src-php-7.3.0 \
  145. && ./buildconf --force \
  146. && ./configure \
  147. --enable-bcmath \
  148. --enable-mbstring \
  149. --with-openssl \
  150. --with-zlib \
  151. --prefix=/usr/local/php-7.3 \
  152. && make \
  153. && make install \
  154. && make clean
  155. RUN cd /var/local/php-src-php-7.3.0 \
  156. && ./buildconf --force \
  157. && ./configure \
  158. --enable-maintainer-zts \
  159. --enable-mbstring \
  160. --with-openssl \
  161. --with-zlib \
  162. --prefix=/usr/local/php-7.3-zts \
  163. && make \
  164. && make install \
  165. && make clean
  166. RUN wget -O phpunit https://phar.phpunit.de/phpunit-7.5.0.phar \
  167. && chmod +x phpunit \
  168. && cp phpunit /usr/local/php-7.3/bin \
  169. && mv phpunit /usr/local/php-7.3-zts/bin
  170. # php 7.4
  171. RUN wget https://ftp.gnu.org/gnu/bison/bison-3.0.1.tar.gz -O /var/local/bison-3.0.1.tar.gz
  172. RUN cd /var/local \
  173. && tar -zxvf bison-3.0.1.tar.gz \
  174. && cd /var/local/bison-3.0.1 \
  175. && ./configure \
  176. && make \
  177. && make install
  178. RUN wget https://github.com/php/php-src/archive/php-7.4.0.tar.gz -O /var/local/php-7.4.0.tar.gz
  179. RUN cd /var/local \
  180. && tar -zxvf php-7.4.0.tar.gz
  181. RUN cd /var/local/php-src-php-7.4.0 \
  182. && ./buildconf --force \
  183. && ./configure \
  184. --enable-bcmath \
  185. --enable-mbstring \
  186. --disable-mbregex \
  187. --with-openssl \
  188. --with-zlib \
  189. --prefix=/usr/local/php-7.4 \
  190. && make \
  191. && make install \
  192. && make clean
  193. RUN cd /var/local/php-src-php-7.4.0 \
  194. && ./buildconf --force \
  195. && ./configure \
  196. --enable-maintainer-zts \
  197. --enable-mbstring \
  198. --disable-mbregex \
  199. --with-openssl \
  200. --with-zlib \
  201. --prefix=/usr/local/php-7.4-zts \
  202. && make \
  203. && make install \
  204. && make clean
  205. RUN wget -O phpunit https://phar.phpunit.de/phpunit-8.phar \
  206. && chmod +x phpunit \
  207. && cp phpunit /usr/local/php-7.4/bin \
  208. && mv phpunit /usr/local/php-7.4-zts/bin
  209. # Install php dependencies
  210. RUN apt-get clean && apt-get update && apt-get install -y --force-yes \
  211. valgrind \
  212. && apt-get clean