Dockerfile 5.8 KB

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