Skip to content

Commit b2f6a1c

Browse files
Tinywanclaude
andcommitted
Update for PHP 8.4 compatibility
- Fix Dockerfile to use correct package sources for PHP 8 - Add line ending normalization for install.sh - Update gd extension config (remove invalid --enable-swoole-curl) - Update redis extension for PHP 8.4+ (use latest pecl version) - Update event extension for OpenSSL 3.x compatibility - Add swoole 6.1.6 support for PHP 8.4+ Co-Authored-By: Claude <noreply@anthropic.com>
1 parent a09bb1b commit b2f6a1c

File tree

4 files changed

+21
-11
lines changed

4 files changed

+21
-11
lines changed

Dockerfile

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,15 @@ RUN sed -i "s/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g" /etc/apk/repositories
1313
RUN cat /etc/issue
1414

1515
# [php74] Add basics first
16-
RUN apk update && apk add bash curl ca-certificates openssl openssh git libxml2-dev tzdata icu-dev openntpd libedit-dev libzip-dev libjpeg-turbo-dev libpng-dev freetype-dev autoconf dpkg-dev dpkg file g++ gcc libc-dev make pkgconf re2c pcre-dev libffi-dev libressl-dev libevent-dev zlib-dev libtool automake supervisor
16+
# RUN apk update && apk add bash curl ca-certificates openssl openssh git libxml2-dev tzdata icu-dev openntpd libedit-dev libzip-dev libjpeg-turbo-dev libpng-dev freetype-dev autoconf dpkg-dev dpkg file g++ gcc libc-dev make pkgconf re2c pcre-dev libffi-dev libressl-dev libevent-dev zlib-dev libtool automake supervisor
1717

1818
# [php8] Add basics first
19-
# RUN apt-get update && apt-get upgrade && apt-get install bash curl ca-certificates openssl openssh git nano libxml2-dev tzdata icu-dev openntpd libedit-dev libzip-dev libjpeg62-turbo-dev libpng12-dev libfreetype6-dev autoconf dpkg-dev dpkg file g++ gcc libc-dev make pkgconf re2c pcre-dev openssl-dev libffi-dev libressl-dev libevent-dev zlib-dev libtool automake supervisor
19+
RUN apk update && apk add bash curl ca-certificates openssl openssh git nano libxml2-dev tzdata icu-dev openntpd libedit-dev libzip-dev libjpeg-turbo-dev libpng-dev freetype-dev autoconf dpkg-dev dpkg file g++ gcc libc-dev make pkgconf re2c pcre-dev openssl-dev libffi-dev libevent-dev zlib-dev libtool automake supervisor
2020

2121
COPY ./extension /tmp/extension
2222
WORKDIR /tmp/extension
23-
RUN chmod +x install.sh \
23+
RUN sed -i 's/\r$//' install.sh \
24+
&& chmod +x install.sh \
2425
&& sh install.sh \
2526
&& rm -rf /tmp/extension
2627

extension/install.sh

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,7 @@ if [[ -z "${EXTENSIONS##*,gd,*}" ]]; then
194194
libjpeg-turbo \
195195
libjpeg-turbo-dev \
196196
libwebp-dev &&
197-
docker-php-ext-configure gd --enable-gd --with-freetype --with-jpeg --with-webp --enable-swoole-curl &&
197+
docker-php-ext-configure gd --enable-gd --with-freetype --with-jpeg --with-webp &&
198198
docker-php-ext-install gd &&
199199
apk del \
200200
freetype-dev \
@@ -455,12 +455,13 @@ fi
455455

456456
if [[ -z "${EXTENSIONS##*,redis,*}" ]]; then
457457
echo "---------- Install redis ----------"
458-
isPhpVersionGreaterOrEqual 8 0
458+
isPhpVersionGreaterOrEqual 8 4
459459
if [[ "$?" = "1" ]]; then
460-
installExtensionFromTgz redis-5.3.7
461-
else
462-
printf "\n" | pecl install redis-4.3.0
460+
# PHP 8.4+ requires newer redis version
461+
printf "\n" | pecl install redis
463462
docker-php-ext-enable redis
463+
else
464+
installExtensionFromTgz redis-5.3.7
464465
fi
465466
fi
466467

@@ -520,7 +521,9 @@ if [[ -z "${EXTENSIONS##*,event,*}" ]]; then
520521
fi
521522

522523
echo "---------- Install event again ----------"
523-
installExtensionFromTgz event-3.0.5 "--ini-name event.ini"
524+
# Use pecl to get latest version compatible with OpenSSL 3.x
525+
printf "\n" | pecl install event
526+
docker-php-ext-enable event
524527
fi
525528

526529
if [[ -z "${EXTENSIONS##*,mongodb,*}" ]]; then
@@ -542,8 +545,14 @@ fi
542545

543546
if [[ -z "${EXTENSIONS##*,swoole,*}" ]]; then
544547
echo "---------- Install Swoole ----------"
545-
pecl install swoole-5.1.5
546-
docker-php-ext-enable swoole
548+
isPhpVersionGreaterOrEqual 8 4
549+
if [[ "$?" = "1" ]]; then
550+
# PHP 8.4+ requires swoole 6.x
551+
installExtensionFromTgz swoole-6.1.6
552+
else
553+
pecl install swoole-5.1.5
554+
docker-php-ext-enable swoole
555+
fi
547556
fi
548557

549558
if [[ -z "${EXTENSIONS##*,zip,*}" ]]; then

extension/swoole-5.1.5.tgz

-2.16 MB
Binary file not shown.

extension/swoole-6.1.6.tgz

2.3 MB
Binary file not shown.

0 commit comments

Comments
 (0)