Browse Source

[Ubiquity] Fix Swoole, update to php8 (#6450)

* php8 + add pcntl

* add Jit function

* jit tracing

* php8 swoole-mysql

* jit function

* update ngx-raw to php8

* fix pgsql

* ngx-raw jit tracing

* ngx php8
J-C HERON 4 years ago
parent
commit
4207efc722

+ 10 - 7
frameworks/PHP/ubiquity/ubiquity-ngx-raw.dockerfile

@@ -1,25 +1,27 @@
-FROM ubuntu:20.04
+FROM ubuntu:20.10
 
 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 > /dev/null
+
 RUN apt-get update -yqq > /dev/null && \
     apt-get install -yqq wget git unzip libxml2-dev cmake make systemtap-sdt-dev \
-                    zlibc zlib1g zlib1g-dev libpcre3 libpcre3-dev libargon2-0-dev libsodium-dev \
-                    php7.4 php7.4-common php7.4-dev libphp7.4-embed php7.4-pgsql nginx > /dev/null
+                    zlib1g-dev libpcre3-dev libargon2-0-dev libsodium-dev \
+                    php8.0-cli php8.0-dev libphp8.0-embed php8.0-pgsql nginx > /dev/null
 
 ADD ./ ./
 
-ENV NGINX_VERSION=1.19.2
+ENV NGINX_VERSION=1.19.8
 
-RUN git clone -b v0.0.24 --single-branch --depth 1 https://github.com/rryqszq4/ngx_php7.git > /dev/null
+RUN git clone -b v0.0.25 --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 && \
     cd nginx-${NGINX_VERSION} && \
-    export PHP_LIB=/usr/lib && \ 
-    ./configure --user=www-data --group=www-data \
+    export PHP_LIB=/usr/lib && \
+    bash ./configure --user=www --group=www \
             --prefix=/nginx \
             --with-ld-opt="-Wl,-rpath,$PHP_LIB" \
             --add-module=/ngx_php7/third_party/ngx_devel_kit \
@@ -39,6 +41,7 @@ RUN chmod 777 -R app/cache/*
 COPY /deploy/conf/ngx/pgsql/raw/ngxServices.php /app/config/ngxServices.php
 
 RUN echo "opcache.preload=/app/config/preloader.script.php" >> /deploy/conf/php.ini
+RUN echo "opcache.jit_buffer_size=128M\nopcache.jit=tracing\n" >> /deploy/conf/php.ini
 
 RUN export WORKERS=$(( 4 * $(nproc) )) && \
     sed -i "s|worker_processes  auto|worker_processes $WORKERS|g" /deploy/conf/ngx/nginx.conf

+ 10 - 7
frameworks/PHP/ubiquity/ubiquity-ngx.dockerfile

@@ -1,25 +1,27 @@
-FROM ubuntu:20.04
+FROM ubuntu:20.10
 
 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 > /dev/null
+
 RUN apt-get update -yqq > /dev/null && \
     apt-get install -yqq wget git unzip libxml2-dev cmake make systemtap-sdt-dev \
-                    zlibc zlib1g zlib1g-dev libpcre3 libpcre3-dev libargon2-0-dev libsodium-dev \
-                    php7.4 php7.4-common php7.4-dev libphp7.4-embed php7.4-pgsql nginx > /dev/null
+                    zlib1g-dev libpcre3-dev libargon2-0-dev libsodium-dev \
+                    php8.0-cli php8.0-dev libphp8.0-embed php8.0-pgsql nginx > /dev/null
 
 ADD ./ ./
 
-ENV NGINX_VERSION=1.19.2
+ENV NGINX_VERSION=1.19.8
 
-RUN git clone -b v0.0.24 --single-branch --depth 1 https://github.com/rryqszq4/ngx_php7.git > /dev/null
+RUN git clone -b v0.0.25 --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 && \
     cd nginx-${NGINX_VERSION} && \
-    export PHP_LIB=/usr/lib && \ 
-    ./configure --user=www-data --group=www-data \
+    export PHP_LIB=/usr/lib && \
+    bash ./configure --user=www --group=www \
             --prefix=/nginx \
             --with-ld-opt="-Wl,-rpath,$PHP_LIB" \
             --add-module=/ngx_php7/third_party/ngx_devel_kit \
@@ -39,6 +41,7 @@ RUN chmod 777 -R app/cache/*
 COPY /deploy/conf/ngx/pgsql/ngxServices.php /app/config/ngxServices.php
 
 RUN echo "opcache.preload=/app/config/preloader.script.php" >> /deploy/conf/php.ini
+RUN echo "opcache.jit_buffer_size=128M\nopcache.jit=function\n" >> /deploy/conf/php.ini
 
 RUN export WORKERS=$(( 4 * $(nproc) )) && \
     sed -i "s|worker_processes  auto|worker_processes $WORKERS|g" /deploy/conf/ngx/nginx.conf

+ 3 - 3
frameworks/PHP/ubiquity/ubiquity-swoole-mysql.dockerfile

@@ -1,14 +1,13 @@
-FROM php:7.4
+FROM php:8.0
 
 RUN apt-get update > /dev/null
 
 RUN pecl install swoole > /dev/null && \
     docker-php-ext-enable swoole
 
-RUN docker-php-ext-install pdo_mysql > /dev/null
+RUN docker-php-ext-install pdo_mysql opcache pcntl > /dev/null
 
 COPY deploy/conf/php-async.ini /usr/local/etc/php/php.ini
-RUN echo "zend_extension=opcache.so" >> /usr/local/etc/php/php.ini
 
 ADD ./ /ubiquity
 WORKDIR /ubiquity
@@ -29,6 +28,7 @@ RUN php composer.phar install --optimize-autoloader --classmap-authoritative --n
 RUN chmod 777 -R /ubiquity/.ubiquity/*
 
 RUN echo "opcache.preload=/ubiquity/app/config/preloader.script.php" >> /usr/local/etc/php/php.ini
+RUN echo "opcache.jit_buffer_size=128M\nopcache.jit=tracing\n" >> /usr/local/etc/php/php.ini
 
 USER www-data
 

+ 3 - 3
frameworks/PHP/ubiquity/ubiquity-swoole.dockerfile

@@ -1,4 +1,4 @@
-FROM php:7.4
+FROM php:8.0
 
 RUN apt-get update > /dev/null
 
@@ -7,10 +7,9 @@ RUN pecl install swoole > /dev/null && \
 
 RUN apt-get install -y libpq-dev \
     && docker-php-ext-configure pgsql -with-pgsql=/usr/local/pgsql \
-    && docker-php-ext-install pdo pdo_pgsql pgsql > /dev/null
+    && docker-php-ext-install pdo_pgsql pgsql opcache pcntl > /dev/null
 
 COPY deploy/conf/php-async.ini /usr/local/etc/php/php.ini
-RUN echo "zend_extension=opcache.so" >> /usr/local/etc/php/php.ini
 
 ADD ./ /ubiquity
 WORKDIR /ubiquity
@@ -31,6 +30,7 @@ RUN php composer.phar install --optimize-autoloader --classmap-authoritative --n
 RUN chmod 777 -R /ubiquity/.ubiquity/*
 
 RUN echo "opcache.preload=/ubiquity/app/config/preloader.script.php" >> /usr/local/etc/php/php.ini
+RUN echo "opcache.jit_buffer_size=128M\nopcache.jit=function\n" >> /usr/local/etc/php/php.ini
 
 USER www-data