File tree Expand file tree Collapse file tree 7 files changed +131
-4
lines changed
Expand file tree Collapse file tree 7 files changed +131
-4
lines changed Original file line number Diff line number Diff line change @@ -13,6 +13,19 @@ RUN git fetch \
1313 cp "$EXTENSION_DIR/uv.so" /uv.so
1414RUN sha256sum /uv.so
1515
16+ ## Build ext-meminfo
17+ FROM php:7.4-cli-alpine3.11 AS build-meminfo
18+ RUN apk update && \
19+ apk add --no-cache $PHPIZE_DEPS git libuv-dev && \
20+ git clone https://github.com/BitOne/php-meminfo.git
21+ WORKDIR /php-meminfo/extension/php7
22+ RUN phpize
23+ RUN ./configure --enable-meminfo
24+ RUN make install
25+ RUN EXTENSION_DIR=`php-config --extension-dir 2>/dev/null` && \
26+ cp "$EXTENSION_DIR/meminfo.so" /meminfo.so
27+ RUN sha256sum /meminfo.so
28+
1629FROM php:7.4-cli-alpine3.11 AS nts-root
1730
1831# Build-time metadata as defined at http://label-schema.org
@@ -85,7 +98,15 @@ RUN touch /.you-are-in-a-wyrihaximus.net-php-docker-image-dev
8598# Install docker help scripts
8699COPY src/php/utils/docker/alpine/ /usr/local/bin/
87100
88- RUN apk add --no-cache \
101+ # Copy in meminfo extension
102+ RUN true
103+ COPY --from=build-meminfo /meminfo.so /meminfo.so
104+ RUN true
105+
106+ RUN EXTENSION_DIR=`php-config --extension-dir 2>/dev/null` \
107+ && mv /*.so "$EXTENSION_DIR/" \
108+ && docker-php-ext-enable meminfo\
109+ && apk add --no-cache \
89110 make \
90111 git \
91112 openssh-client \
Original file line number Diff line number Diff line change @@ -13,6 +13,19 @@ RUN git fetch \
1313 cp "$EXTENSION_DIR/uv.so" /uv.so
1414RUN sha256sum /uv.so
1515
16+ ## Build ext-meminfo
17+ FROM php:7.4-zts-buster AS build-meminfo
18+ RUN apk update && \
19+ yes | apt-get install $PHPIZE_DEPS git && \
20+ git clone https://github.com/BitOne/php-meminfo.git
21+ WORKDIR /php-meminfo/extension/php7
22+ RUN phpize
23+ RUN ./configure --enable-meminfo
24+ RUN make install
25+ RUN EXTENSION_DIR=`php-config --extension-dir 2>/dev/null` && \
26+ cp "$EXTENSION_DIR/meminfo.so" /meminfo.so
27+ RUN sha256sum /meminfo.so
28+
1629FROM php:7.4-cli-buster AS nts-root
1730
1831# Build-time metadata as defined at http://label-schema.org
@@ -95,7 +108,15 @@ RUN touch /.you-are-in-a-wyrihaximus.net-php-docker-image-dev
95108# Install docker help scripts
96109COPY src/php/utils/docker/ /usr/local/bin/
97110
98- RUN apt-get update \
111+ # Copy in meminfo extension
112+ RUN true
113+ COPY --from=build-meminfo /meminfo.so /meminfo.so
114+ RUN true
115+
116+ RUN EXTENSION_DIR=`php-config --extension-dir 2>/dev/null` \
117+ && mv /*.so "$EXTENSION_DIR/" \
118+ && docker-php-ext-enable meminfo \
119+ && apt-get update \
99120 && yes | apt-get install \
100121 make \
101122 git \
Original file line number Diff line number Diff line change @@ -13,6 +13,19 @@ RUN git fetch \
1313 cp "$EXTENSION_DIR/uv.so" /uv.so
1414RUN sha256sum /uv.so
1515
16+ ## Build ext-meminfo
17+ FROM php:7.4-zts-alpine3.11 AS build-meminfo
18+ RUN apk update && \
19+ apk add --no-cache $PHPIZE_DEPS git libuv-dev && \
20+ git clone https://github.com/BitOne/php-meminfo.git
21+ WORKDIR /php-meminfo/extension/php7
22+ RUN phpize
23+ RUN ./configure --enable-meminfo
24+ RUN make install
25+ RUN EXTENSION_DIR=`php-config --extension-dir 2>/dev/null` && \
26+ cp "$EXTENSION_DIR/meminfo.so" /meminfo.so
27+ RUN sha256sum /meminfo.so
28+
1629FROM php:7.4-zts-alpine3.11 AS zts-root
1730
1831# Build-time metadata as defined at http://label-schema.org
@@ -92,7 +105,15 @@ RUN touch /.you-are-in-a-wyrihaximus.net-php-docker-image-dev
92105# Install docker help scripts
93106COPY src/php/utils/docker/alpine/ /usr/local/bin/
94107
95- RUN apk add --no-cache \
108+ # Copy in meminfo extension
109+ RUN true
110+ COPY --from=build-meminfo /meminfo.so /meminfo.so
111+ RUN true
112+
113+ RUN EXTENSION_DIR=`php-config --extension-dir 2>/dev/null` \
114+ && mv /*.so "$EXTENSION_DIR/" \
115+ && docker-php-ext-enable meminfo \
116+ && apk add --no-cache \
96117 make \
97118 git \
98119 openssh-client \
Original file line number Diff line number Diff line change @@ -27,6 +27,19 @@ RUN git fetch \
2727 cp "$EXTENSION_DIR/uv.so" /uv.so
2828RUN sha256sum /uv.so
2929
30+ ## Build ext-meminfo
31+ FROM php:7.4-zts-buster AS build-meminfo
32+ RUN apk update && \
33+ yes | apt-get install $PHPIZE_DEPS git && \
34+ git clone https://github.com/BitOne/php-meminfo.git
35+ WORKDIR /php-meminfo/extension/php7
36+ RUN phpize
37+ RUN ./configure --enable-meminfo
38+ RUN make install
39+ RUN EXTENSION_DIR=`php-config --extension-dir 2>/dev/null` && \
40+ cp "$EXTENSION_DIR/meminfo.so" /meminfo.so
41+ RUN sha256sum /meminfo.so
42+
3043FROM php:7.4-zts-buster AS zts-root
3144
3245# Build-time metadata as defined at http://label-schema.org
@@ -111,7 +124,15 @@ RUN touch /.you-are-in-a-wyrihaximus.net-php-docker-image-dev
111124# Install docker help scripts
112125COPY src/php/utils/docker/ /usr/local/bin/
113126
114- RUN apt-get update \
127+ # Copy in meminfo extension
128+ RUN true
129+ COPY --from=build-meminfo /meminfo.so /meminfo.so
130+ RUN true
131+
132+ RUN EXTENSION_DIR=`php-config --extension-dir 2>/dev/null` \
133+ && mv /*.so "$EXTENSION_DIR/" \
134+ && docker-php-ext-enable meminfo \
135+ && apt-get update \
115136 && yes | apt-get install \
116137 make \
117138 git \
Original file line number Diff line number Diff line change 1+ <?php
2+
3+ const MEMINFO_DUMP_FILE = '/tmp/my_dump_file.json ' ;
4+
5+ meminfo_dump (fopen (MEMINFO_DUMP_FILE , 'w ' ));
6+
7+ sleep (1 );
8+
9+ if (!file_exists (MEMINFO_DUMP_FILE )) {
10+ exit (1 );
11+ }
12+
13+ $ json = json_decode (file_get_contents (MEMINFO_DUMP_FILE ), true );
14+
15+ if (!is_array ($ json )) {
16+ exit (1 );
17+ }
18+
19+ if (count ($ json ) === 0 ) {
20+ exit (1 );
21+ }
22+
23+ echo 'meminfo ' ;
Original file line number Diff line number Diff line change @@ -21,3 +21,19 @@ def test_configuration_is_not_effective(host):
2121 configuration = host .run ('php -i' ).stdout
2222
2323 assert u'expose_php => Off => Off' in configuration
24+
25+ @pytest .mark .php_dev
26+ def test_php_meminfo_is_enabled (host ):
27+ output = host .run ('if [ $(php -v | grep 7.4 | wc -l) != 0 ] ; then php -r "echo(\' meminfo\' );"; else php -r "exit(function_exists(\' meminfo_dump\' ) ? 0 : 255);"; fi' )
28+ assert output .rc == 0
29+
30+ @pytest .mark .php_no_dev
31+ def test_php_meminfo_is_not_enabled (host ):
32+ output = host .run ('php -r "exit(function_exists(\' meminfo_dump\' ) ? 0 : 255);"' )
33+ assert output .rc == 255
34+
35+ @pytest .mark .php_dev
36+ def test_php_ext_meminfo_is_functional (host ):
37+ output = host .run ('if [ $(php -v | grep 7.4 | wc -l) != 0 ] ; then php -r "echo(\' meminfo\' );"; else php /tests/container/functional/meminfo.php; fi' )
38+ assert output .stdout == 'meminfo'
39+ assert output .rc == 0
Original file line number Diff line number Diff line change @@ -20,6 +20,10 @@ def test_gmp_is_loaded(host):
2020def test_iconv_is_loaded (host ):
2121 assert 'iconv' in host .run ('php -m' ).stdout
2222
23+ @pytest .mark .php_dev
24+ def test_meminfo_is_loaded (host ):
25+ assert 'meminfo' in host .run ('php -m' ).stdout
26+
2327@pytest .mark .php_zts
2428def test_parallel_is_loaded (host ):
2529 assert 'parallel' in host .run ('php -m' ).stdout
You can’t perform that action at this time.
0 commit comments