Browse Source

Merge pull request #9550 from joanhey/reactphp--libuv

[php] Reactphp add libuv variant
Mike Smith 7 months ago
parent
commit
834104f0f5

+ 20 - 1
frameworks/PHP/reactphp/benchmark_config.json

@@ -17,9 +17,28 @@
       "webserver": "None",
       "os": "Linux",
       "database_os": "Linux",
-      "display_name": "reactphp",
+      "display_name": "reactphp [libevent]",
       "notes": "",
       "versus": "php"
+    },
+    "libuv": {
+      "json_url": "/json",
+      "plaintext_url": "/plaintext",
+      "port": 8080,
+      "approach": "Realistic",
+      "classification": "Platform",
+      "framework": "reactphp",
+      "language": "PHP",
+      "flavor": "PHP8",
+      "database": "MySQL",
+      "orm": "Raw",
+      "platform": "reactphp",
+      "webserver": "None",
+      "os": "Linux",
+      "database_os": "Linux",
+      "display_name": "reactphp [libuv]",
+      "notes": "",
+      "versus": "reactphp"
     }
   }]
 }

+ 35 - 0
frameworks/PHP/reactphp/reactphp-libuv.dockerfile

@@ -0,0 +1,35 @@
+FROM ubuntu:24.04
+
+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 git unzip wget curl build-essential \
+    php8.4-cli php8.4-mbstring php8.4-dev php8.4-xml > /dev/null
+
+# An extension is required!
+# We deal with concurrencies over 1k, which stream_select doesn't support.
+# libuv
+RUN apt-get install -yqq libuv1-dev > /dev/null \
+     && pecl install uv-beta > /dev/null \
+     && echo "extension=uv.so" > /etc/php/8.4/cli/conf.d/uv.ini
+
+# libevent
+# RUN apt-get install -y libevent-dev > /dev/null \
+#    && pecl install event-3.1.4 > /dev/null \
+#    && echo "extension=event.so" > /etc/php/8.4/cli/conf.d/event.ini
+
+COPY --from=composer:latest /usr/bin/composer /usr/local/bin/composer
+
+COPY --link deploy/conf/* /etc/php/8.4/cli/conf.d/
+
+WORKDIR /reactphp
+COPY --link . .
+
+RUN composer install --prefer-dist --optimize-autoloader --no-dev --quiet
+
+EXPOSE 8080
+
+ENTRYPOINT ["/usr/bin/php"]
+CMD ["server.php"]

+ 1 - 1
frameworks/PHP/reactphp/reactphp.dockerfile

@@ -27,7 +27,7 @@ COPY --link deploy/conf/* /etc/php/8.4/cli/conf.d/
 WORKDIR /reactphp
 COPY --link . .
 
-RUN composer install --prefer-dist --optimize-autoloader --no-dev
+RUN composer install --prefer-dist --optimize-autoloader --no-dev --quiet
 
 EXPOSE 8080