@@ -52,11 +52,43 @@ case $PHP_VERSION in
52
52
yes | pecl install ds-1.4.0
53
53
;;
54
54
* )
55
- yes | pecl install ds
55
+ # If we really need it.
56
+ php -m | grep -q ' ^ds$' || yes | pecl install ds
56
57
;;
57
58
esac
58
59
59
- yes | pecl install apcu igbinary rdkafka yaml decimal uuid msgpack mailparse
60
+ case $PHP_VERSION in
61
+ 8.5* )
62
+ php -m | grep -q ' ^igbinary$' || \
63
+ (git clone --depth=1 https://github.com/igbinary/igbinary.git /usr/src/igbinary; \
64
+ cd /usr/src/igbinary; \
65
+ phpize && ./configure && make -j" $( nproc) " && make install; \
66
+ echo " extension=igbinary.so" > /usr/local/etc/php/conf.d/igbinary.ini; \
67
+ cd -; \
68
+ rm -rf /usr/src/igbinary)
69
+ ;;
70
+ * )
71
+ yes | pecl install igbinary
72
+ ;;
73
+ esac
74
+
75
+ case $PHP_VERSION in
76
+ 8.5* )
77
+ # Yknow if we really need it.
78
+ php -m | grep -q ' ^mailparse$' || \
79
+ (git clone --depth=1 https://github.com/php/pecl-mail-mailparse.git /usr/src/mailparse; \
80
+ cd /usr/src/mailparse; \
81
+ phpize && ./configure && make -j" $( nproc) " && make install; \
82
+ echo " extension=mailparse.so" > /usr/local/etc/php/conf.d/mailparse.ini; \
83
+ cd -; \
84
+ rm -rf /usr/src/mailparse)
85
+ ;;
86
+ * )
87
+ yes | pecl install mailparse
88
+ ;;
89
+ esac
90
+
91
+ yes | pecl install apcu rdkafka yaml decimal uuid msgpack
60
92
61
93
case $PHP_VERSION in
62
94
8.5* )
@@ -96,6 +128,15 @@ case $PHP_VERSION in
96
128
esac
97
129
98
130
case $PHP_VERSION in
131
+ 8.5* )
132
+ php -m | grep -q ' ^redis$' || \
133
+ (git clone --depth=1 https://github.com/phpredis/phpredis.git /usr/src/phpredis; \
134
+ cd /usr/src/phpredis; \
135
+ phpize && ./configure && make -j" $( nproc) " && make install; \
136
+ echo " extension=redis.so" > /usr/local/etc/php/conf.d/redis.ini; \
137
+ cd -; \
138
+ rm -rf /usr/src/phpredis)
139
+ ;;
99
140
8.* )
100
141
mkdir -p /usr/src/php/ext/redis && curl -fsSL https://pecl.php.net/get/redis | tar xvz -C " /usr/src/php/ext/redis" --strip 1 && docker-php-ext-install redis
101
142
;;
@@ -105,9 +146,11 @@ case $PHP_VERSION in
105
146
;;
106
147
esac
107
148
108
- docker-php-ext-configure intl
109
- docker-php-ext-configure gettext
110
- docker-php-ext-install intl gettext sockets
149
+ php -m | grep -q ' ^intl$' || docker-php-ext-configure intl
150
+ php -m | grep -q ' ^gettext$' || docker-php-ext-configure gettext
151
+ php -m | grep -q ' ^intl$' || docker-php-ext-install intl
152
+ php -m | grep -q ' ^gettext$' || docker-php-ext-install gettext
153
+ php -m | grep -q ' ^sockets$' || docker-php-ext-install sockets
111
154
docker-php-ext-enable ds yaml decimal uuid mailparse msgpack
112
155
113
156
case $PHP_VERSION in
@@ -155,21 +198,45 @@ case $PHP_VERSION in
155
198
;;
156
199
esac
157
200
158
- yes | pecl install imagick
201
+ case $PHP_VERSION in
202
+ 8.5* )
203
+ php -m | grep -q ' ^imagick$' || \
204
+ (git clone --depth=1 https://github.com/Imagick/imagick.git /usr/src/imagick; \
205
+ cd /usr/src/imagick; \
206
+ phpize && ./configure && make -j" $( nproc) " && make install; \
207
+ echo " extension=imagick.so" > /usr/local/etc/php/conf.d/imagick.ini; \
208
+ cd -; \
209
+ rm -rf /usr/src/imagick)
210
+ ;;
211
+ * )
212
+ yes | pecl install imagick
213
+ ;;
214
+ esac
215
+
159
216
docker-php-ext-enable imagick
160
217
161
218
case $PHP_VERSION in
162
219
8.4* |8.5* )
163
220
apk add --no-cache krb5-dev
164
- yes | pecl install imap
221
+ # If we really need it.
222
+ php -m | grep -q ' ^imap$' || yes | pecl install imap
165
223
docker-php-ext-enable imap
166
224
;;
167
225
* )
168
226
docker-php-ext-install imap
169
227
;;
170
228
esac
171
229
172
- docker-php-ext-install gmp ldap xsl mysqli calendar gd pdo_mysql pdo_pgsql zip opcache bcmath soap exif bz2 pcntl
230
+ case $PHP_VERSION in
231
+ 8.5* )
232
+ echo " Skipping opcache for PHP $PHP_VERSION "
233
+ ;;
234
+ * )
235
+ docker-php-ext-install opcache
236
+ ;;
237
+ esac
238
+
239
+ docker-php-ext-install gmp ldap xsl mysqli calendar gd pdo_mysql pdo_pgsql zip bcmath soap exif bz2 pcntl
173
240
docker-php-ext-enable rdkafka apcu
174
241
175
242
mkdir ~ /.ssh/
@@ -183,22 +250,22 @@ git clone https://github.com/violinist-dev/drupal-contrib-sa /root/drupal-contri
183
250
184
251
machine=` uname -m 2> /dev/null || /usr/bin/uname -m`
185
252
case ${machine} in
186
- arm|armv7* )
187
- machine=" arm"
188
- ;;
189
- aarch64* |armv8* )
190
- machine=" arm64"
191
- ;;
192
- i386)
193
- machine=" 386"
194
- ;;
195
- x86_64)
196
- machine=" amd64"
197
- ;;
198
- * )
199
- output " [ ] You architecture (${machine} ) is not currently supported" " error"
200
- exit 1
201
- ;;
253
+ arm|armv7* )
254
+ machine=" arm"
255
+ ;;
256
+ aarch64* |armv8* )
257
+ machine=" arm64"
258
+ ;;
259
+ i386)
260
+ machine=" 386"
261
+ ;;
262
+ x86_64)
263
+ machine=" amd64"
264
+ ;;
265
+ * )
266
+ output " [ ] You architecture (${machine} ) is not currently supported" " error"
267
+ exit 1
268
+ ;;
202
269
esac
203
270
204
271
wget https://github.com/symfony/cli/releases/download/v4.16.3/symfony_linux_${machine} .gz -O /tmp/symfony.gz
0 commit comments