Browse Source

Workerman use Ubuntu 24.04 (#9042)

Joan Miquel 1 year ago
parent
commit
48b96fd745

+ 8 - 4
frameworks/PHP/workerman/app-pg.php

@@ -47,6 +47,8 @@ function db()
 
 function query($request)
 {
+    $random = DbRaw::$random;
+
     $query_count = 1;
     $q = (int) $request->get('q');
     if ($q > 1) {
@@ -54,8 +56,8 @@ function query($request)
     }
 
     while ($query_count--) {
-        DbRaw::$random->execute([mt_rand(1, 10000)]);
-        $arr[] = DbRaw::$random->fetch();
+        $random->execute([mt_rand(1, 10000)]);
+        $arr[] = $random->fetch();
     }
 
     return new Response(200, [
@@ -66,6 +68,8 @@ function query($request)
 
 function updateraw($request)
 {
+    $random = DbRaw::$random;
+
     $query_count = 1;
     $q = (int) $request->get('q');
     if ($q > 1) {
@@ -74,8 +78,8 @@ function updateraw($request)
 
     while ($query_count--) {
 
-        DbRaw::$random->execute([mt_rand(1, 10000)]);
-        $row = DbRaw::$random->fetch();
+        $random->execute([mt_rand(1, 10000)]);
+        $row = $random->fetch();
         $row['randomNumber'] = mt_rand(1, 10000);
 
         $worlds[] = $row;

+ 1 - 1
frameworks/PHP/workerman/server.php

@@ -7,7 +7,7 @@ use Workerman\Timer;
 
 $http_worker                = new Worker('http://0.0.0.0:8080');
 $http_worker->count         = (int) shell_exec('nproc') * 4;
-$http_worker->onWorkerStart = function () {
+$http_worker->onWorkerStart = static function () {
     Header::$date = gmdate('D, d M Y H:i:s').' GMT';
     Timer::add(1, function() {
         Header::$date = gmdate('D, d M Y H:i:s').' GMT';

+ 6 - 6
frameworks/PHP/workerman/workerman-async.dockerfile

@@ -1,4 +1,4 @@
-FROM ubuntu:22.04
+FROM ubuntu:24.04
 
 ARG DEBIAN_FRONTEND=noninteractive
 
@@ -8,15 +8,15 @@ RUN LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php > /dev/null && \
 
 RUN apt-get install -yqq php8.3-cli php8.3-mysql  > /dev/null
 
-COPY --from=composer:latest /usr/bin/composer /usr/local/bin/composer
+COPY --from=composer/composer:latest-bin --link /composer /usr/local/bin/composer
 
-RUN apt-get install -y php-pear php8.3-dev php8.3-xml libevent-dev git > /dev/null
-RUN pecl install event-3.1.3 > /dev/null && echo "extension=event.so" > /etc/php/8.3/cli/conf.d/event.ini
+RUN apt-get install -y php-pear php8.3-dev libevent-dev git > /dev/null && \
+    pecl install event-3.1.3 > /dev/null && echo "extension=event.so" > /etc/php/8.3/cli/conf.d/event.ini
 
-COPY php.ini /etc/php/8.3/cli/php.ini
+COPY --link php.ini /etc/php/8.3/cli/php.ini
 
-ADD ./ /workerman
 WORKDIR /workerman
+COPY --link . .
 
 RUN composer require react/mysql "^0.6" --quiet
 RUN composer install --optimize-autoloader --classmap-authoritative --no-dev --quiet

+ 7 - 6
frameworks/PHP/workerman/workerman-pgsql.dockerfile

@@ -1,4 +1,5 @@
-FROM ubuntu:22.04
+FROM ubuntu:24.04
+
 ARG DEBIAN_FRONTEND=noninteractive
 
 RUN apt-get update -yqq && apt-get install -yqq software-properties-common > /dev/null
@@ -7,15 +8,15 @@ RUN LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php > /dev/null && \
 
 RUN apt-get install -yqq php8.3-cli php8.3-pgsql php8.3-xml > /dev/null
 
-COPY --from=composer:latest /usr/bin/composer /usr/local/bin/composer
+COPY --from=composer/composer:latest-bin --link /composer /usr/local/bin/composer
 
-RUN apt-get install -y php-pear php8.3-dev libevent-dev git > /dev/null
-RUN pecl install event-3.1.3 > /dev/null && echo "extension=event.so" > /etc/php/8.3/cli/conf.d/event.ini
+RUN apt-get install -y php-pear php8.3-dev libevent-dev git > /dev/null && \
+    pecl install event-3.1.3 > /dev/null && echo "extension=event.so" > /etc/php/8.3/cli/conf.d/event.ini
 
-COPY php.ini /etc/php/8.3/cli/php.ini
+COPY --link php.ini /etc/php/8.3/cli/php.ini
 
-ADD ./ /workerman
 WORKDIR /workerman
+COPY --link . .
 
 RUN sed -i "s|'/app.php|'/app-pg.php|g" server.php
 RUN sed -i "s|init()|DbRaw::init()|g" server.php

+ 6 - 6
frameworks/PHP/workerman/workerman-php8-jit.dockerfile

@@ -1,4 +1,4 @@
-FROM ubuntu:22.04
+FROM ubuntu:24.04
 
 ARG DEBIAN_FRONTEND=noninteractive
 
@@ -8,15 +8,15 @@ RUN LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php > /dev/null && \
 
 RUN apt-get install -yqq php8.3-cli php8.3-pgsql php8.3-xml > /dev/null
 
-COPY --from=composer:latest /usr/bin/composer /usr/local/bin/composer
+COPY --from=composer/composer:latest-bin --link /composer /usr/local/bin/composer
 
-RUN apt-get install -y php-pear php8.3-dev libevent-dev git > /dev/null
-RUN pecl install event-3.1.3 > /dev/null && echo "extension=event.so" > /etc/php/8.3/cli/conf.d/event.ini
+RUN apt-get install -y php-pear php8.3-dev libevent-dev git > /dev/null && \
+    pecl install event-3.1.3 > /dev/null && echo "extension=event.so" > /etc/php/8.3/cli/conf.d/event.ini
  
-COPY php-jit.ini /etc/php/8.3/cli/php.ini
+COPY --link php-jit.ini /etc/php/8.3/cli/php.ini
 
-ADD ./ /workerman
 WORKDIR /workerman
+COPY --link . .
 
 RUN sed -i "s|'/app.php|'/app-pg.php|g" server.php
 RUN sed -i "s|init()|DbRaw::init()|g" server.php

+ 6 - 6
frameworks/PHP/workerman/workerman.dockerfile

@@ -1,4 +1,4 @@
-FROM ubuntu:22.04
+FROM ubuntu:24.04
 
 ARG DEBIAN_FRONTEND=noninteractive
 
@@ -8,15 +8,15 @@ RUN LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php > /dev/null && \
 
 RUN apt-get install -yqq php8.3-cli php8.3-mysql php8.3-xml > /dev/null
 
-COPY --from=composer:latest /usr/bin/composer /usr/local/bin/composer
+COPY --from=composer/composer:latest-bin --link /composer /usr/local/bin/composer
 
-RUN apt-get install -y php-pear php8.3-dev libevent-dev git > /dev/null
-RUN pecl install event-3.1.3 > /dev/null && echo "extension=event.so" > /etc/php/8.3/cli/conf.d/event.ini
+RUN apt-get install -y php-pear php8.3-dev libevent-dev git > /dev/null && \
+    pecl install event-3.1.3 > /dev/null && echo "extension=event.so" > /etc/php/8.3/cli/conf.d/event.ini
  
-COPY php-jit.ini /etc/php/8.3/cli/php.ini 
+COPY --link php-jit.ini /etc/php/8.3/cli/php.ini 
 
-ADD ./ /workerman
 WORKDIR /workerman
+COPY --link . .
 
 RUN composer install --optimize-autoloader --classmap-authoritative --no-dev --quiet