Skip to content

Commit d3e783a

Browse files
committed
Use official meminfo git repo again
1 parent c537d64 commit d3e783a

File tree

7 files changed

+131
-4
lines changed

7 files changed

+131
-4
lines changed

Dockerfile-nts-alpine

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,19 @@ RUN git fetch \
1313
cp "$EXTENSION_DIR/uv.so" /uv.so
1414
RUN 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+
1629
FROM 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
8699
COPY 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 \

Dockerfile-nts-debian

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,19 @@ RUN git fetch \
1313
cp "$EXTENSION_DIR/uv.so" /uv.so
1414
RUN 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+
1629
FROM 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
96109
COPY 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 \

Dockerfile-zts-alpine

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,19 @@ RUN git fetch \
1313
cp "$EXTENSION_DIR/uv.so" /uv.so
1414
RUN 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+
1629
FROM 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
93106
COPY 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 \

Dockerfile-zts-debian

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,19 @@ RUN git fetch \
2727
cp "$EXTENSION_DIR/uv.so" /uv.so
2828
RUN 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+
3043
FROM 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
112125
COPY 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 \
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
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';

test/container/test_php_dev.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff 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

test/container/test_php_ext.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,10 @@ def test_gmp_is_loaded(host):
2020
def 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
2428
def test_parallel_is_loaded(host):
2529
assert 'parallel' in host.run('php -m').stdout

0 commit comments

Comments
 (0)