Skip to content

Commit

Permalink
[php] Ubiquity update to PHP 8.3 (#8600)
Browse files Browse the repository at this point in the history
* [php] Ubiquity update to PHP 8.3

* Update ngx-php and nginx

* Allow Dynamic Properties in Fortunes model

* Allow Dynamic Properties in CachedWorld model

* Use root namespace

* Add AllowDynamicProperties in World model

* Update ngx-php to php8.3 & ubuntu22.04

* Small change to rerun CI
  • Loading branch information
joanhey committed Dec 11, 2023
1 parent c3b8875 commit 208c989
Show file tree
Hide file tree
Showing 15 changed files with 54 additions and 51 deletions.
1 change: 1 addition & 0 deletions frameworks/PHP/ubiquity/app/models/CachedWorld.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
/**
* @table("World")
*/
#[\AllowDynamicProperties]
class CachedWorld extends World{
}

1 change: 1 addition & 0 deletions frameworks/PHP/ubiquity/app/models/Fortune.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
<?php
namespace models;

#[\AllowDynamicProperties]
class Fortune {

/**
Expand Down
1 change: 1 addition & 0 deletions frameworks/PHP/ubiquity/app/models/World.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
<?php
namespace models;

#[\AllowDynamicProperties]
class World {

/**
Expand Down
8 changes: 4 additions & 4 deletions frameworks/PHP/ubiquity/ubiquity-ngx-micro.dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM ubuntu:20.04
FROM ubuntu:22.04

ARG DEBIAN_FRONTEND=noninteractive

Expand All @@ -9,15 +9,15 @@ RUN LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php > /dev/null
RUN apt-get update -yqq > /dev/null && \
apt-get install -yqq wget git unzip libxml2-dev cmake make systemtap-sdt-dev \
zlib1g-dev libpcre3-dev libargon2-0-dev libsodium-dev \
php8.0-cli php8.0-dev php8.0-mbstring libphp8.0-embed nginx > /dev/null
php8.3-cli php8.3-dev php8.3-mbstring libphp8.3-embed nginx > /dev/null

COPY --from=composer:latest /usr/bin/composer /usr/local/bin/composer

ADD ./ ./

ENV NGINX_VERSION=1.21.0
ENV NGINX_VERSION=1.25.3

RUN git clone -b v0.0.25 --single-branch --depth 1 https://github.com/rryqszq4/ngx_php7.git > /dev/null
RUN git clone -b v0.0.28 --single-branch --depth 1 https://github.com/rryqszq4/ngx_php7.git > /dev/null

RUN wget -q http://nginx.org/download/nginx-${NGINX_VERSION}.tar.gz && \
tar -zxf nginx-${NGINX_VERSION}.tar.gz && \
Expand Down
8 changes: 4 additions & 4 deletions frameworks/PHP/ubiquity/ubiquity-ngx-raw.dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM ubuntu:20.04
FROM ubuntu:22.04

ARG DEBIAN_FRONTEND=noninteractive

Expand All @@ -9,15 +9,15 @@ RUN LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php > /dev/null
RUN apt-get update -yqq > /dev/null && \
apt-get install -yqq wget git unzip libxml2-dev cmake make systemtap-sdt-dev \
zlib1g-dev libpcre3-dev libargon2-0-dev libsodium-dev \
php8.0-cli php8.0-dev libphp8.0-embed php8.0-pgsql nginx > /dev/null
php8.3-cli php8.3-dev libphp8.3-embed php8.3-pgsql nginx > /dev/null

COPY --from=composer:latest /usr/bin/composer /usr/local/bin/composer

ADD ./ ./

ENV NGINX_VERSION=1.21.0
ENV NGINX_VERSION=1.25.3

RUN git clone -b v0.0.25 --single-branch --depth 1 https://github.com/rryqszq4/ngx_php7.git > /dev/null
RUN git clone -b v0.0.28 --single-branch --depth 1 https://github.com/rryqszq4/ngx_php7.git > /dev/null

RUN wget -q http://nginx.org/download/nginx-${NGINX_VERSION}.tar.gz && \
tar -zxf nginx-${NGINX_VERSION}.tar.gz && \
Expand Down
8 changes: 4 additions & 4 deletions frameworks/PHP/ubiquity/ubiquity-ngx.dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM ubuntu:20.04
FROM ubuntu:22.04

ARG DEBIAN_FRONTEND=noninteractive

Expand All @@ -9,15 +9,15 @@ RUN LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php > /dev/null
RUN apt-get update -yqq > /dev/null && \
apt-get install -yqq wget git unzip libxml2-dev cmake make systemtap-sdt-dev \
zlib1g-dev libpcre3-dev libargon2-0-dev libsodium-dev \
php8.0-cli php8.0-dev libphp8.0-embed php8.0-pgsql nginx > /dev/null
php8.3-cli php8.3-dev libphp8.3-embed php8.3-pgsql nginx > /dev/null

COPY --from=composer:latest /usr/bin/composer /usr/local/bin/composer

ADD ./ ./

ENV NGINX_VERSION=1.21.0
ENV NGINX_VERSION=1.25.3

RUN git clone -b v0.0.25 --single-branch --depth 1 https://github.com/rryqszq4/ngx_php7.git > /dev/null
RUN git clone -b v0.0.28 --single-branch --depth 1 https://github.com/rryqszq4/ngx_php7.git > /dev/null

RUN wget -q http://nginx.org/download/nginx-${NGINX_VERSION}.tar.gz && \
tar -zxf nginx-${NGINX_VERSION}.tar.gz && \
Expand Down
8 changes: 4 additions & 4 deletions frameworks/PHP/ubiquity/ubiquity-roadrunner-mysql.dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,13 @@ ARG DEBIAN_FRONTEND=noninteractive
RUN apt-get update -yqq && apt-get install -yqq software-properties-common > /dev/null
RUN LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php
RUN apt-get update -yqq > /dev/null && \
apt-get install -yqq php8.0 php8.0-common php8.0-cgi php-curl php8.0-mysql > /dev/null
apt-get install -yqq php8.3 php8.3-common php8.3-cgi php-curl php8.3-mysql > /dev/null

COPY --from=composer:latest /usr/bin/composer /usr/local/bin/composer

RUN apt-get install -y php-pear php-dev > /dev/null

COPY deploy/conf/php-async.ini /etc/php/8.0/cgi/php.ini
COPY deploy/conf/php-async.ini /etc/php/8.3/cgi/php.ini

ADD ./ /ubiquity
WORKDIR /ubiquity
Expand All @@ -33,8 +33,8 @@ RUN chmod 755 /bin/envwrapper.sh

RUN chmod 777 -R /ubiquity/.ubiquity/*

#RUN echo "opcache.preload=/ubiquity/app/config/preloader.script.php" >> /etc/php/8.0/cgi/php.ini
RUN echo "opcache.jit_buffer_size=128M\nopcache.jit=tracing\n" >> /etc/php/8.0/cgi/php.ini
#RUN echo "opcache.preload=/ubiquity/app/config/preloader.script.php" >> /etc/php/8.3/cgi/php.ini
RUN echo "opcache.jit_buffer_size=128M\nopcache.jit=tracing\n" >> /etc/php/8.3/cgi/php.ini

COPY deploy/conf/roadrunner/mysql/rrServices.php app/config/rrServices.php

Expand Down
8 changes: 4 additions & 4 deletions frameworks/PHP/ubiquity/ubiquity-roadrunner.dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,14 @@ ARG DEBIAN_FRONTEND=noninteractive
RUN apt-get update -yqq && apt-get install -yqq software-properties-common > /dev/null
RUN LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php
RUN apt-get update -yqq > /dev/null && \
apt-get install -yqq php8.0 php8.0-common php8.0-cgi php8.0-pgsql php-curl > /dev/null
apt-get install -yqq php8.3 php8.3-common php8.3-cgi php8.3-pgsql php-curl > /dev/null

COPY --from=composer:latest /usr/bin/composer /usr/local/bin/composer

RUN apt-get install -y php-pear php-dev > /dev/null


COPY deploy/conf/php-async.ini /etc/php/8.0/cgi/php.ini
COPY deploy/conf/php-async.ini /etc/php/8.3/cgi/php.ini

ADD ./ /ubiquity
WORKDIR /ubiquity
Expand All @@ -34,8 +34,8 @@ RUN chmod 755 /bin/envwrapper.sh

RUN chmod 777 -R /ubiquity/.ubiquity/*

#RUN echo "opcache.preload=/ubiquity/app/config/preloader.script.php" >> /etc/php/8.0/cgi/php.ini
RUN echo "opcache.jit_buffer_size=128M\nopcache.jit=function\n" >> /etc/php/8.0/cgi/php.ini
#RUN echo "opcache.preload=/ubiquity/app/config/preloader.script.php" >> /etc/php/8.3/cgi/php.ini
RUN echo "opcache.jit_buffer_size=128M\nopcache.jit=function\n" >> /etc/php/8.3/cgi/php.ini

COPY deploy/conf/roadrunner/pgsql/rrServices.php app/config/rrServices.php

Expand Down
2 changes: 1 addition & 1 deletion frameworks/PHP/ubiquity/ubiquity-swoole-mysql.dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM php:8.0
FROM php:8.3-cli

RUN apt-get update > /dev/null

Expand Down
2 changes: 1 addition & 1 deletion frameworks/PHP/ubiquity/ubiquity-swoole.dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM php:8.0
FROM php:8.3-cli

RUN apt-get update > /dev/null

Expand Down
12 changes: 6 additions & 6 deletions frameworks/PHP/ubiquity/ubiquity-workerman-mongo.dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,14 @@ ARG DEBIAN_FRONTEND=noninteractive
RUN apt-get update -yqq && apt-get install -yqq software-properties-common > /dev/null
RUN LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php
RUN apt-get update -yqq > /dev/null && \
apt-get install -yqq git php8.1-cli php8.1-mongodb php8.1-xml php8.1-mbstring > /dev/null
apt-get install -yqq git php8.3-cli php8.3-mongodb php8.3-xml php8.3-mbstring > /dev/null

COPY --from=composer:latest /usr/bin/composer /usr/local/bin/composer

RUN apt-get install -y php-pear php8.1-dev libevent-dev > /dev/null
RUN pecl install event-3.0.8 > /dev/null && echo "extension=event.so" > /etc/php/8.1/cli/conf.d/event.ini
RUN apt-get install -y php-pear php8.3-dev libevent-dev > /dev/null
RUN pecl install event-3.0.8 > /dev/null && echo "extension=event.so" > /etc/php/8.3/cli/conf.d/event.ini

COPY deploy/conf/php-async.ini /etc/php/8.1/cli/php.ini
COPY deploy/conf/php-async.ini /etc/php/8.3/cli/php.ini

ADD ./ /ubiquity

Expand All @@ -31,8 +31,8 @@ RUN chmod 777 -R /ubiquity/.ubiquity/*

COPY deploy/conf/workerman/mongo/workerServices.php app/config/workerServices.php

RUN echo "opcache.preload=/ubiquity/app/config/preloader.script.php" >> /etc/php/8.1/cli/php.ini
RUN echo "opcache.jit_buffer_size=128M\nopcache.jit=tracing\n" >> /etc/php/8.1/cli/php.ini
RUN echo "opcache.preload=/ubiquity/app/config/preloader.script.php" >> /etc/php/8.3/cli/php.ini
RUN echo "opcache.jit_buffer_size=128M\nopcache.jit=tracing\n" >> /etc/php/8.3/cli/php.ini

EXPOSE 8080

Expand Down
12 changes: 6 additions & 6 deletions frameworks/PHP/ubiquity/ubiquity-workerman-mysql.dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,14 @@ ARG DEBIAN_FRONTEND=noninteractive
RUN apt-get update -yqq && apt-get install -yqq software-properties-common > /dev/null
RUN LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php
RUN apt-get update -yqq > /dev/null && \
apt-get install -yqq git php8.1-cli php8.1-mysql php8.1-xml php8.1-mbstring > /dev/null
apt-get install -yqq git php8.3-cli php8.3-mysql php8.3-xml php8.3-mbstring > /dev/null

COPY --from=composer:latest /usr/bin/composer /usr/local/bin/composer

RUN apt-get install -y php-pear php8.1-dev libevent-dev > /dev/null
RUN pecl install event-3.0.8 > /dev/null && echo "extension=event.so" > /etc/php/8.1/cli/conf.d/event.ini
RUN apt-get install -y php-pear php8.3-dev libevent-dev > /dev/null
RUN pecl install event-3.0.8 > /dev/null && echo "extension=event.so" > /etc/php/8.3/cli/conf.d/event.ini

COPY deploy/conf/php-async.ini /etc/php/8.1/cli/php.ini
COPY deploy/conf/php-async.ini /etc/php/8.3/cli/php.ini

ADD ./ /ubiquity
WORKDIR /ubiquity
Expand All @@ -30,8 +30,8 @@ RUN chmod 777 -R /ubiquity/.ubiquity/*

COPY deploy/conf/workerman/mysql/workerServices.php app/config/workerServices.php

RUN echo "opcache.preload=/ubiquity/app/config/preloader.script.php" >> /etc/php/8.1/cli/php.ini
RUN echo "opcache.jit_buffer_size=128M\nopcache.jit=tracing\n" >> /etc/php/8.1/cli/php.ini
RUN echo "opcache.preload=/ubiquity/app/config/preloader.script.php" >> /etc/php/8.3/cli/php.ini
RUN echo "opcache.jit_buffer_size=128M\nopcache.jit=tracing\n" >> /etc/php/8.3/cli/php.ini

EXPOSE 8080

Expand Down
12 changes: 6 additions & 6 deletions frameworks/PHP/ubiquity/ubiquity-workerman-raw.dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,14 @@ ARG DEBIAN_FRONTEND=noninteractive
RUN apt-get update -yqq && apt-get install -yqq software-properties-common > /dev/null
RUN LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php
RUN apt-get update -yqq > /dev/null && \
apt-get install -yqq git php8.1-cli php8.1-pgsql php8.1-xml php8.1-mbstring > /dev/null
apt-get install -yqq git php8.3-cli php8.3-pgsql php8.3-xml php8.3-mbstring > /dev/null

COPY --from=composer:latest /usr/bin/composer /usr/local/bin/composer

RUN apt-get install -y php-pear php8.1-dev libevent-dev > /dev/null
RUN pecl install event-3.0.8 > /dev/null && echo "extension=event.so" > /etc/php/8.1/cli/conf.d/event.ini
RUN apt-get install -y php-pear php8.3-dev libevent-dev > /dev/null
RUN pecl install event-3.0.8 > /dev/null && echo "extension=event.so" > /etc/php/8.3/cli/conf.d/event.ini

COPY deploy/conf/php-async.ini /etc/php/8.1/cli/php.ini
COPY deploy/conf/php-async.ini /etc/php/8.3/cli/php.ini

ADD ./ /ubiquity
WORKDIR /ubiquity
Expand All @@ -30,8 +30,8 @@ RUN chmod 777 -R /ubiquity/.ubiquity/*

COPY deploy/conf/workerman/pgsql/raw/workerServices.php app/config/workerServices.php

RUN echo "opcache.preload=/ubiquity/app/config/preloader.script.php\n" >> /etc/php/8.1/cli/php.ini
RUN echo "opcache.jit_buffer_size=128M\nopcache.jit=tracing\n" >> /etc/php/8.1/cli/php.ini
RUN echo "opcache.preload=/ubiquity/app/config/preloader.script.php\n" >> /etc/php/8.3/cli/php.ini
RUN echo "opcache.jit_buffer_size=128M\nopcache.jit=tracing\n" >> /etc/php/8.3/cli/php.ini

EXPOSE 8080

Expand Down
12 changes: 6 additions & 6 deletions frameworks/PHP/ubiquity/ubiquity-workerman.dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,14 @@ ARG DEBIAN_FRONTEND=noninteractive
RUN apt-get update -yqq && apt-get install -yqq software-properties-common > /dev/null
RUN LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php
RUN apt-get update -yqq > /dev/null && \
apt-get install -yqq git php8.1-cli php8.1-pgsql php8.1-xml php8.1-mbstring > /dev/null
apt-get install -yqq git php8.3-cli php8.3-pgsql php8.3-xml php8.3-mbstring > /dev/null

COPY --from=composer:latest /usr/bin/composer /usr/local/bin/composer

RUN apt-get install -y php-pear php8.1-dev libevent-dev > /dev/null
RUN pecl install event-3.0.8 > /dev/null && echo "extension=event.so" > /etc/php/8.1/cli/conf.d/event.ini
RUN apt-get install -y php-pear php8.3-dev libevent-dev > /dev/null
RUN pecl install event-3.0.8 > /dev/null && echo "extension=event.so" > /etc/php/8.3/cli/conf.d/event.ini

COPY deploy/conf/php-async.ini /etc/php/8.1/cli/php.ini
COPY deploy/conf/php-async.ini /etc/php/8.3/cli/php.ini

ADD ./ /ubiquity
WORKDIR /ubiquity
Expand All @@ -30,8 +30,8 @@ RUN chmod 777 -R /ubiquity/.ubiquity/*

COPY deploy/conf/workerman/pgsql/workerServices.php app/config/workerServices.php

RUN echo "opcache.preload=/ubiquity/app/config/preloader.script.php\n" >> /etc/php/8.1/cli/php.ini
RUN echo "opcache.jit_buffer_size=128M\nopcache.jit=function\n" >> /etc/php/8.1/cli/php.ini
RUN echo "opcache.preload=/ubiquity/app/config/preloader.script.php\n" >> /etc/php/8.3/cli/php.ini
RUN echo "opcache.jit_buffer_size=128M\nopcache.jit=function\n" >> /etc/php/8.3/cli/php.ini

EXPOSE 8080

Expand Down
10 changes: 5 additions & 5 deletions frameworks/PHP/ubiquity/ubiquity.dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -5,26 +5,26 @@ ARG DEBIAN_FRONTEND=noninteractive
RUN apt-get update -yqq && apt-get install -yqq software-properties-common > /dev/null
RUN LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php
RUN apt-get update -yqq > /dev/null && \
apt-get install -yqq nginx git unzip php8.1 php8.1-common php8.1-cli php8.1-fpm php8.1-mysql php8.1-dev > /dev/null
apt-get install -yqq nginx git unzip php8.3 php8.3-common php8.3-cli php8.3-fpm php8.3-mysql php8.3-dev > /dev/null

COPY --from=composer:latest /usr/bin/composer /usr/local/bin/composer

COPY deploy/conf/* /etc/php/8.1/fpm/
COPY deploy/conf/* /etc/php/8.3/fpm/

ADD ./ /ubiquity
WORKDIR /ubiquity

RUN if [ $(nproc) = 2 ]; then sed -i "s|pm.max_children = 1024|pm.max_children = 512|g" /etc/php/8.1/fpm/php-fpm.conf ; fi;
RUN if [ $(nproc) = 2 ]; then sed -i "s|pm.max_children = 1024|pm.max_children = 512|g" /etc/php/8.3/fpm/php-fpm.conf ; fi;

RUN composer install --optimize-autoloader --classmap-authoritative --no-dev --quiet

RUN chmod 777 -R /ubiquity/app/cache/*

COPY deploy/conf/ubiquity-config.php app/config/config.php

RUN echo "opcache.preload=/ubiquity/app/config/preloader.script.php" >> /etc/php/8.1/fpm/php.ini
RUN echo "opcache.preload=/ubiquity/app/config/preloader.script.php" >> /etc/php/8.3/fpm/php.ini

EXPOSE 8080

CMD service php8.1-fpm start && \
CMD service php8.3-fpm start && \
nginx -c /ubiquity/deploy/nginx.conf -g "daemon off;"

0 comments on commit 208c989

Please sign in to comment.