Jelajahi Sumber

Merge pull request #798 from akirayamamoto/fix/php-post-max-size-upload-chunks

fix(docker): raise PHP post_max_size for default 20MB upload chunks
sstidl 1 Minggu lalu
induk
melakukan
be1c7f87a7
3 mengubah file dengan 18 tambahan dan 0 penghapusan
  1. 2 0
      Dockerfile
  2. 11 0
      Dockerfile.alpine
  3. 5 0
      docker/librespeed-php.ini

+ 2 - 0
Dockerfile

@@ -10,6 +10,8 @@ RUN install-php-extensions iconv gd pdo pdo_mysql pdo_pgsql pgsql \
     && apt-get clean \
     && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
 
+COPY docker/librespeed-php.ini ${PHP_INI_DIR}/conf.d/99-librespeed.ini
+
 # Prepare files and folders
 RUN mkdir -p /speedtest/
 

+ 11 - 0
Dockerfile.alpine

@@ -20,6 +20,17 @@ RUN apk add --quiet --no-cache \
 RUN ln -sf /dev/stdout /var/log/apache2/access.log && \
     ln -sf /dev/stderr /var/log/apache2/error.log
 
+# Install the ini into the scan dir PHP itself reports.
+COPY docker/librespeed-php.ini /tmp/librespeed-php.ini
+RUN set -eu; \
+    scan_dir="$(php -r 'echo rtrim(PHP_CONFIG_FILE_SCAN_DIR);')"; \
+    if [ -z "$scan_dir" ]; then \
+      echo "ERROR: PHP_CONFIG_FILE_SCAN_DIR is empty" >&2; \
+      exit 1; \
+    fi; \
+    install -m 0644 /tmp/librespeed-php.ini "$scan_dir/99-librespeed.ini"; \
+    rm /tmp/librespeed-php.ini
+
 # Prepare files and folders
 RUN mkdir -p /speedtest/
 

+ 5 - 0
docker/librespeed-php.ini

@@ -0,0 +1,5 @@
+; speedtest_worker.js defaults xhr_ul_blob_megabytes to 20.
+; PHP's stock post_max_size = 8M rejects those upload chunks before
+; empty.php can send its headers. 32M leaves modest headroom.
+
+post_max_size = 32M