@@ -12,7 +12,7 @@ RUN composer install \
1212 --no-scripts \
1313 --prefer-dist
1414
15- FROM php:8.4.18 -cli-alpine3.22 AS compile
15+ FROM php:8.5 -cli-alpine AS compile
1616
1717ENV PHP_REDIS_VERSION="6.3.0" \
1818 PHP_SWOOLE_VERSION="v6.1.6" \
5555 && cd phpredis \
5656 && phpize \
5757 && ./configure \
58- && make && make install
58+ && make && make install \
59+ && mkdir -p /ext \
60+ && cp $(php-config --extension-dir)/redis.so /ext/redis.so
5961
6062# # Swoole Extension
6163FROM compile AS swoole
6466 && cd swoole-src \
6567 && phpize \
6668 && ./configure --enable-http2 \
67- && make && make install
69+ && make && make install \
70+ && mkdir -p /ext \
71+ && cp $(php-config --extension-dir)/swoole.so /ext/swoole.so
6872
6973# # PCOV Extension
7074FROM compile AS pcov
7377 && cd pcov \
7478 && phpize \
7579 && ./configure --enable-pcov \
76- && make && make install
80+ && make && make install \
81+ && mkdir -p /ext \
82+ && cp $(php-config --extension-dir)/pcov.so /ext/pcov.so
7783
7884# # XDebug Extension
7985FROM compile AS xdebug
8288 cd xdebug && \
8389 phpize && \
8490 ./configure && \
85- make && make install
91+ make && make install \
92+ && mkdir -p /ext \
93+ && cp $(php-config --extension-dir)/xdebug.so /ext/xdebug.so
8694
8795FROM compile AS final
8896
@@ -93,6 +101,16 @@ ENV DEBUG=$DEBUG
93101
94102WORKDIR /usr/src/code
95103
104+ COPY --from=composer /usr/local/src/vendor /usr/src/code/vendor
105+ COPY --from=swoole /ext/swoole.so /ext/swoole.so
106+ COPY --from=redis /ext/redis.so /ext/redis.so
107+ COPY --from=pcov /ext/pcov.so /ext/pcov.so
108+ COPY --from=xdebug /ext/xdebug.so /ext/xdebug.so
109+
110+ RUN EXT_DIR=$(php-config --extension-dir) \
111+ && mkdir -p $EXT_DIR \
112+ && cp /ext/*.so $EXT_DIR/
113+
96114RUN echo extension=redis.so >> /usr/local/etc/php/conf.d/redis.ini
97115RUN echo extension=swoole.so >> /usr/local/etc/php/conf.d/swoole.ini
98116RUN echo extension=pcov.so >> /usr/local/etc/php/conf.d/pcov.ini
@@ -104,12 +122,6 @@ RUN echo "opcache.enable_cli=1" >> $PHP_INI_DIR/php.ini
104122
105123RUN echo "memory_limit=1024M" >> $PHP_INI_DIR/php.ini
106124
107- COPY --from=composer /usr/local/src/vendor /usr/src/code/vendor
108- COPY --from=swoole /usr/local/lib/php/extensions/no-debug-non-zts-20240924/swoole.so /usr/local/lib/php/extensions/no-debug-non-zts-20240924/
109- COPY --from=redis /usr/local/lib/php/extensions/no-debug-non-zts-20240924/redis.so /usr/local/lib/php/extensions/no-debug-non-zts-20240924/
110- COPY --from=pcov /usr/local/lib/php/extensions/no-debug-non-zts-20240924/pcov.so /usr/local/lib/php/extensions/no-debug-non-zts-20240924/
111- COPY --from=xdebug /usr/local/lib/php/extensions/no-debug-non-zts-20240924/xdebug.so /usr/local/lib/php/extensions/no-debug-non-zts-20240924/
112-
113125COPY ./bin /usr/src/code/bin
114126COPY ./src /usr/src/code/src
115127COPY ./dev /usr/src/code/dev
@@ -118,6 +130,6 @@ COPY ./dev /usr/src/code/dev
118130RUN if [ "$DEBUG" = "true" ]; then cp /usr/src/code/dev/xdebug.ini /usr/local/etc/php/conf.d/xdebug.ini; fi
119131RUN if [ "$DEBUG" = "true" ]; then mkdir -p /tmp/xdebug; fi
120132RUN if [ "$DEBUG" = "false" ]; then rm -rf /usr/src/code/dev; fi
121- RUN if [ "$DEBUG" = "false" ]; then rm -f /usr/local/lib/ php/extensions/no-debug-non-zts-20240924 /xdebug.so; fi
133+ RUN if [ "$DEBUG" = "false" ]; then rm -f $( php-config --extension-dir) /xdebug.so; fi
122134
123135CMD [ "tail" , "-f" , "/dev/null" ]
0 commit comments