Sign inSign up

shine09/php-swoole

By shine09

•Updated 6 months ago

Image
0

798

shine09/php-swoole repository overview

⁠PHP 8.5

FROM php:8.5.4-alpine3.23

LABEL php.version="8.5.4" \
      alpine.version="3.23" \
      build.date="2026-03-23"

COPY --from=composer:2.9.5 /usr/bin/composer /usr/bin/

ARG TIMEZONE
ARG SWOOLE_VERSION=6.2.0
ENV TZ=${TIMEZONE:-"Asia/Shanghai"} \
  LANG="C.UTF-8" \
  IMAGE_BUILD_DATE="2026-03-23"

RUN set -ex \
  && addgroup -S -g 1000 www \
  && adduser -S -D -u 1000 -s /sbin/nologin -G www www

# 必须 apk add icu-data-full 否则 new \NumberFormatter('UK', \NumberFormatter::CURRENCY)->formatCurrency('1234.91', 'CAD') 数据会异常
RUN set -ex \
  && apk update \
  && apk add --no-cache libstdc++ libpq liburing-dev \
  && apk add --no-cache --virtual .build-deps $PHPIZE_DEPS curl-dev linux-headers brotli-dev postgresql-dev openssl-dev pcre-dev pcre2-dev sqlite-dev zlib-dev \
  && apk add --no-cache icu-dev libzip-dev \
  && apk add --no-cache tzdata cronie icu-data-full \
  && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
  && echo Asia/Shanghai > /etc/timezone \
  && apk del tzdata \
  && docker-php-ext-install pdo_mysql bcmath intl zip pcntl \
  && pecl channel-update pecl.php.net \
  && pecl install --configureoptions 'enable-redis-igbinary="no" enable-redis-lzf="no" enable-redis-zstd="no"' redis-6.3.0 \
  && pecl install inotify \
  && docker-php-ext-enable redis inotify \
  && docker-php-ext-install sockets \
  && docker-php-source extract \
  && mkdir /usr/src/php/ext/swoole \
  && curl -sfL https://github.com/swoole/swoole-src/archive/v${SWOOLE_VERSION}.tar.gz -o swoole.tar.gz \
  && tar xfz swoole.tar.gz --strip-components=1 -C /usr/src/php/ext/swoole \
  && docker-php-ext-configure swoole \
    --enable-brotli \
    --enable-mysqlnd \
    --enable-sockets \
    --enable-swoole-curl \
    --enable-swoole-pgsql \
    --enable-swoole-sqlite \
    --enable-swoole-stdext \
    --enable-zstd \
  && docker-php-ext-install -j$(nproc) swoole \
  && rm -f swoole.tar.gz \
  && apk add --no-cache supervisor \
  && mkdir -p /var/log/supervisor \
  && docker-php-source delete \
  && apk del .build-deps

WORKDIR /app

# 多架构编译
#docker buildx build \
#  --platform linux/arm64,linux/amd64 \
#  --build-arg TIMEZONE=Asia/Shanghai \
#  -t shine09/php-swoole:8.5.4-swoole6.2.0-alpine3.23 \
#  -t shine09/php-swoole:8.5-swoole6.2-alpine3 \
#  -t registry.cn-shenzhen.aliyuncs.com/shine09/php:8.5.4-swoole6.2.0-alpine3.23 \
#  -t registry.cn-shenzhen.aliyuncs.com/shine09/php:8.5-swoole6.2-alpine3 \
#  -t registry.us-west-1.aliyuncs.com/shine09/php:8.5.4-swoole6.2.0-alpine3.23 \
#  -t registry.us-west-1.aliyuncs.com/shine09/php:8.5-swoole6.2-alpine3 \
#  -f dockerfiles/pp-php-8.5/26.03.23/Dockerfile \
#  --push \
#  .

Tag summary

Content type

Image

Digest

sha256:cbbdccb97…

Size

82.1 MB

Last updated

6 months ago

docker pull shine09/php-swoole:8.5-swoole6.2-alpine3