Browse Source

[php] Yii2 update to Adapterman 0.6 and PHP 8.2 (#8026)

* Yii2 update to Adapterman 0.6

* Yii2 update to PHP 8.2
Joan Miquel 2 years ago
parent
commit
2e68e59551

+ 1 - 1
frameworks/PHP/yii2/composer.json

@@ -2,7 +2,7 @@
 	"require": {
 	"require": {
 		"yidas/yii2-composer-bower-skip": "~2.0.13",
 		"yidas/yii2-composer-bower-skip": "~2.0.13",
 		"yiisoft/yii2": "~2.0.43",
 		"yiisoft/yii2": "~2.0.43",
-		"joanhey/adapterman": "^0.5"
+		"joanhey/adapterman": "^0.6"
 	},
 	},
 	"config": {
 	"config": {
         "allow-plugins": {
         "allow-plugins": {

+ 1 - 1
frameworks/PHP/yii2/deploy/conf/cli-php.ini

@@ -13,4 +13,4 @@ memory_limit = 512M
 opcache.jit_buffer_size=128M
 opcache.jit_buffer_size=128M
 opcache.jit=tracing
 opcache.jit=tracing
 
 
-disable_functions=header,header_remove,http_response_code,setcookie,session_create_id,session_id,session_name,session_save_path,session_status,session_start,session_write_close,session_regenerate_id,set_time_limit
+disable_functions=header,header_remove,headers_sent,http_response_code,setcookie,session_create_id,session_id,session_name,session_save_path,session_status,session_start,session_write_close,session_regenerate_id,set_time_limit

+ 3 - 6
frameworks/PHP/yii2/server.php

@@ -4,7 +4,6 @@ require_once __DIR__ . '/vendor/autoload.php';
 use Adapterman\Adapterman;
 use Adapterman\Adapterman;
 use Workerman\Worker;
 use Workerman\Worker;
 use Workerman\Lib\Timer;
 use Workerman\Lib\Timer;
-use Workerman\Protocols\Http;
 
 
 Adapterman::init();
 Adapterman::init();
 
 
@@ -14,17 +13,15 @@ $http_worker                = new Worker('http://0.0.0.0:8080');
 $http_worker->count         = (int) shell_exec('nproc') * 4;
 $http_worker->count         = (int) shell_exec('nproc') * 4;
 $http_worker->name          = 'AdapterMan-Yii2';
 $http_worker->name          = 'AdapterMan-Yii2';
 
 
-$http_worker->onWorkerStart = function () {
+$http_worker->onWorkerStart = static function () {
     WorkerTimer::init();
     WorkerTimer::init();
-    //init();
-    //require __DIR__.'/app/index.php';
 };
 };
 
 
-$http_worker->onMessage = static function ($connection, $request) {
+$http_worker->onMessage = static function ($connection) {
  
  
     $_SERVER['SCRIPT_FILENAME'] = '/app/index.php';
     $_SERVER['SCRIPT_FILENAME'] = '/app/index.php';
     $_SERVER['SCRIPT_NAME'] = '/index.php';
     $_SERVER['SCRIPT_NAME'] = '/index.php';
-    Http::header(WorkerTimer::$date);
+    header(WorkerTimer::$date);
     $connection->send(
     $connection->send(
         handleWorkerman()
         handleWorkerman()
     );
     );

+ 5 - 5
frameworks/PHP/yii2/yii2-raw.dockerfile

@@ -1,24 +1,24 @@
-FROM ubuntu:20.04
+FROM ubuntu:22.04
 
 
 ARG DEBIAN_FRONTEND=noninteractive
 ARG DEBIAN_FRONTEND=noninteractive
 
 
 RUN apt-get update -yqq && apt-get install -yqq software-properties-common > /dev/null
 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 LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php
 RUN apt-get update -yqq > /dev/null && \
 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-mbstring php8.1-dev > /dev/null
+    apt-get install -yqq nginx git unzip php8.2 php8.2-common php8.2-cli php8.2-fpm php8.2-mysql php8.2-mbstring php8.2-dev > /dev/null
 
 
 COPY --from=composer:latest /usr/bin/composer /usr/local/bin/composer
 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.2/fpm/
 
 
 ADD ./ /yii2
 ADD ./ /yii2
 WORKDIR /yii2
 WORKDIR /yii2
 
 
-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.2/fpm/php-fpm.conf ; fi;
 
 
 RUN composer install --optimize-autoloader --classmap-authoritative --no-dev --quiet
 RUN composer install --optimize-autoloader --classmap-authoritative --no-dev --quiet
 
 
 EXPOSE 8080
 EXPOSE 8080
 
 
-CMD service php8.1-fpm start && \
+CMD service php8.2-fpm start && \
     nginx -c /yii2/deploy/nginx.conf
     nginx -c /yii2/deploy/nginx.conf

+ 5 - 5
frameworks/PHP/yii2/yii2-workerman.dockerfile

@@ -1,18 +1,18 @@
-FROM ubuntu:20.04
+FROM ubuntu:22.04
 
 
 ARG DEBIAN_FRONTEND=noninteractive
 ARG DEBIAN_FRONTEND=noninteractive
 
 
 RUN apt-get update -yqq && apt-get install -yqq software-properties-common > /dev/null
 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 LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php
 RUN apt-get update -yqq > /dev/null && \
 RUN apt-get update -yqq > /dev/null && \
-    apt-get install -yqq git php8.1-cli php8.1-mysql php8.1-mbstring php8.1-xml > /dev/null
+    apt-get install -yqq git php8.2-cli php8.2-mysql php8.2-mbstring php8.2-xml > /dev/null
 
 
 COPY --from=composer:latest /usr/bin/composer /usr/local/bin/composer
 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.2-dev libevent-dev > /dev/null
+RUN pecl install event-3.0.8 > /dev/null && echo "extension=event.so" > /etc/php/8.2/cli/conf.d/event.ini
 
 
-COPY deploy/conf/cli-php.ini /etc/php/8.1/cli/php.ini
+COPY deploy/conf/cli-php.ini /etc/php/8.2/cli/php.ini
 
 
 ADD ./ /yii2
 ADD ./ /yii2
 WORKDIR /yii2
 WORKDIR /yii2

+ 5 - 5
frameworks/PHP/yii2/yii2.dockerfile

@@ -1,24 +1,24 @@
-FROM ubuntu:20.04
+FROM ubuntu:22.04
 
 
 ARG DEBIAN_FRONTEND=noninteractive
 ARG DEBIAN_FRONTEND=noninteractive
 
 
 RUN apt-get update -yqq && apt-get install -yqq software-properties-common > /dev/null
 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 LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php
 RUN apt-get update -yqq > /dev/null && \
 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-mbstring php8.1-dev > /dev/null
+    apt-get install -yqq nginx git unzip php8.2 php8.2-common php8.2-cli php8.2-fpm php8.2-mysql php8.2-mbstring php8.2-dev > /dev/null
 
 
 COPY --from=composer:latest /usr/bin/composer /usr/local/bin/composer
 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.2/fpm/
 
 
 ADD ./ /yii2
 ADD ./ /yii2
 WORKDIR /yii2
 WORKDIR /yii2
 
 
-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.2/fpm/php-fpm.conf ; fi;
 
 
 RUN composer install --optimize-autoloader --classmap-authoritative --no-dev --quiet
 RUN composer install --optimize-autoloader --classmap-authoritative --no-dev --quiet
 
 
 EXPOSE 8080
 EXPOSE 8080
 
 
-CMD service php8.1-fpm start && \
+CMD service php8.2-fpm start && \
     nginx -c /yii2/deploy/nginx.conf
     nginx -c /yii2/deploy/nginx.conf