1
1
# phpexperts/php:7
2
- FROM ubuntu:focal as intermediate
2
+ FROM phpexperts/linux:latest AS intermediate
3
3
# FROM phpexperts/php:8.0-temp
4
4
5
- ARG PHP_VERSION=8.0
5
+ ARG PHP_VERSION=8.1
6
6
7
7
# Fix add-apt-repository is broken with non-UTF-8 locales, see https://github.com/oerdnj/deb.sury.org/issues/56
8
8
ENV LC_ALL C.UTF-8
9
9
ENV DEBIAN_FRONTEND noninteractive
10
10
11
- RUN apt-get update && \
12
- # Configure ondrej PPA
13
- apt-get install -y software-properties-common && \
14
- apt-get upgrade -y && \
15
- #
16
- # Install PHP & curl (for composer)
17
- apt-get install -y --no-install-recommends \
18
- curl \
19
- less vim inetutils-ping unzip net-tools && \
20
- #
21
- # Compile PHP 8 manuall
22
- apt-get install -y --no-install-recommends gcc g++ make && \
11
+ # Compile PHP 8.1 manually
12
+ RUN apt-get install -y --no-install-recommends gcc g++ make && \
23
13
apt-get install -y libxml2-dev libcurl4-openssl-dev libjpeg-dev libpng-dev \
24
14
libmysqlclient-dev libpq-dev libicu-dev libfreetype6-dev \
25
15
libxslt-dev libssl-dev libldb-dev libedit-dev libsodium-dev \
26
16
zlibc zlib1g zlib1g-dev libsqlite3-dev libgmp-dev libzip-dev \
27
17
libonig-dev binutils && \
28
18
#
29
- curl https://downloads.php.net/~carusogabriel /php-8.0.0RC3 .tar.xz -o php.xz && \
19
+ curl https://downloads.php.net/~patrickallaert /php-8.1.0RC5 .tar.xz -o php.xz && \
30
20
tar xvf php.xz && \
31
- cd php-8.0.0RC3 && \
21
+ cd php-8.1.0RC5 && \
32
22
# Build CLI
33
23
./configure --enable-mbstring --with-pdo-mysql --with-pdo-pgsql --enable-mysqlnd \
34
24
--enable-gd --with-gmp --enable-bcmath --with-curl --with-zip --with-openssl \
35
- --enable-sockets --with-libedit --with-sodium --enable-exif --enable-intl \
25
+ --enable-sockets --disable-phpdbg -- with-libedit --with-sodium --enable-exif --enable-intl \
36
26
--with-mysqli --with-xsl --with-zlib --prefix=/workdir/install/usr \
37
- --with-config-file-path=/etc/php/8.0 /cli --with-config-file-scan-dir=/etc/php/8.0 /cli/conf.d && \
27
+ --with-config-file-path=/etc/php/8.1 /cli --with-config-file-scan-dir=/etc/php/8.1 /cli/conf.d && \
38
28
make -j8 && \
39
29
make install && \
40
30
# Build FPM
41
31
./configure --enable-mbstring --with-pdo-mysql --with-pdo-pgsql --enable-mysqlnd \
42
32
--enable-gd --with-gmp --enable-bcmath --with-curl --with-zip --with-openssl \
43
- --enable-sockets --with-libedit --with-sodium --enable-exif --enable-intl \
33
+ --enable-sockets --disable-phpdbg -- with-libedit --with-sodium --enable-exif --enable-intl \
44
34
--with-mysqli --with-xsl --with-zlib \
45
35
--enable-fpm --with-fpm-user=www-data --enable-pcntl --prefix=/workdir/install/usr \
46
- --with-config-file-path=/etc/php/8.0 /fpm --with-config-file-scan-dir=/etc/php/8.0 /fpm/conf.d && \
36
+ --with-config-file-path=/etc/php/8.1 /fpm --with-config-file-scan-dir=/etc/php/8.1 /fpm/conf.d && \
47
37
make -j8 && \
48
38
make install && \
49
39
#
@@ -52,21 +42,21 @@ RUN apt-get update && \
52
42
mkdir -p /workdir/install/etc/php/${PHP_VERSION}/cli/conf.d && \
53
43
mkdir -p /workdir/install/etc/php/${PHP_VERSION}/fpm/conf.d && \
54
44
mkdir -p /workdir/install/etc/php/${PHP_VERSION}/fpm/pool.d && \
55
- cd /php-8.0.0RC3 && \
45
+ # cd /php-8.1.0RC5 && \
56
46
cp -v php.ini-development /workdir/install/etc/php/${PHP_VERSION}/cli/php.ini && \
57
47
cp -v php.ini-development /workdir/install/etc/php/${PHP_VERSION}/fpm/php.ini && \
58
48
cp -v ./sapi/fpm/php-fpm.conf /workdir/install/etc/php/${PHP_VERSION}/fpm/ && \
59
- cp -v ./sapi/fpm/www.conf /workdir/install/etc/php/${PHP_VERSION}/fpm/pool.d && \
49
+ cp -v ./sapi/fpm/www.conf /workdir/install/etc/php/${PHP_VERSION}/fpm/pool.d
60
50
#
61
51
# # Fix the extension_dir path (screwed up from --prefix=/workdir/install/usr):
62
- echo extension_dir=$(/workdir/install/usr/bin/php --info | grep ^extension_dir | awk '{print $3}' | sed 's#/workdir/install##' ) >> /workdir/install/etc/php/${PHP_VERSION}/cli/php.ini && \
52
+ RUN echo extension_dir=$(/workdir/install/usr/bin/php --info | grep ^extension_dir | awk '{print $3}' | sed 's#/workdir/install##' ) >> /workdir/install/etc/php/${PHP_VERSION}/cli/php.ini && \
63
53
echo extension_dir=$(/workdir/install/usr/bin/php --info | grep ^extension_dir | awk '{print $3}' | sed 's#/workdir/install##' ) >> /workdir/install/etc/php/${PHP_VERSION}/fpm/php.ini && \
64
54
sed -i 's#/workdir/install##' /workdir/install/usr/bin/phpize && \
65
55
#
66
- # # Strip the PHP binaries to dramatically reduce the image size (583 MB to 156 MB).
67
- strip /workdir/install/usr/bin/php /workdir/install/usr/sbin/php-fpm && \
68
56
# # Remove the worthless php-cgi and save 64 MB.
69
57
rm /workdir/install/usr/bin/php-cgi && \
58
+ # # Strip the PHP binaries to dramatically reduce the image size (583 MB to 156 MB).
59
+ strip -v /workdir/install/usr/bin/php /workdir/install/usr/sbin/php-fpm && \
70
60
#
71
61
# # Install PHP so that the build programs will work.
72
62
cp -avf /workdir/install/* / && \
@@ -109,39 +99,40 @@ RUN apt-get update && \
109
99
110
100
WORKDIR /workdir
111
101
112
- FROM ubuntu:focal
102
+ ENTRYPOINT [ "/usr/bin/bash" , "-l" ]
113
103
114
- ARG PHP_VERSION=8.0
104
+ FROM phpexperts/linux:latest
105
+
106
+ ARG PHP_VERSION=8.1
115
107
116
108
# Fix add-apt-repository is broken with non-UTF-8 locales, see https://github.com/oerdnj/deb.sury.org/issues/56
117
109
ENV LC_ALL C.UTF-8
118
110
ENV DEBIAN_FRONTEND noninteractive
119
111
120
- COPY --from=intermediate /workdir/php-8.0 -ubuntu.tar.gz /php-8.0 -ubuntu.tar.gz
112
+ COPY --from=intermediate /workdir/php-8.1 -ubuntu.tar.gz /php-8.1 -ubuntu.tar.gz
121
113
122
114
RUN apt-get update && \
123
115
# Configure ondrej PPA
124
116
apt-get install -y software-properties-common && \
125
117
apt-get upgrade -y && \
126
118
#
127
119
# Install PHP & curl (for composer)
128
- apt-get install -y --no-install-recommends \
129
- curl \
130
- less vim inetutils-ping unzip net-tools && \
131
120
# Install PHP extension dependencies
132
- apt-get install -y libpq5 libpng16-16 libonig5 libzip5 libxslt-dev zlibc zlib1g libsodium-dev libedit-dev && \
121
+ apt-get install -y libpq5 libpng16-16 libonig5 libxslt-dev zlibc zlib1g libsodium-dev libedit-dev libcurl4 libzip4 && \
133
122
#
134
123
# Cleanup
135
124
apt-get remove -y && \
136
125
apt-get autoremove -y && \
137
126
apt-get clean && \
138
- rm -rf /var/lib/apt/lists/* && \
139
- tar xvf php-8.0-ubuntu.tar.gz && \
140
- rm -v php-8.0-ubuntu.tar.gz
127
+ # rm -rf /var/lib/apt/lists/* && \
128
+ cd / && \
129
+ tar xvf php-8.1-ubuntu.tar.gz && \
130
+ rm -v php-8.1-ubuntu.tar.gz && \
131
+ echo "Finished..."
141
132
142
- VOLUME ["/workdir" ]
143
133
WORKDIR /workdir
144
134
145
135
COPY entrypoint.sh /usr/local/bin/entrypoint-php.sh
146
136
147
137
ENTRYPOINT ["/usr/local/bin/entrypoint-php.sh" ]
138
+
0 commit comments