浏览代码

add php ext "taint" (#2150)

* add php ext "taint", only support php7.
xiagw 5 年之前
父节点
当前提交
bc8772441b
共有 5 个文件被更改,包括 50 次插入0 次删除
  1. 3 0
      docker-compose.yml
  2. 3 0
      env-example
  3. 15 0
      php-fpm/Dockerfile
  4. 13 0
      php-worker/Dockerfile
  5. 16 0
      workspace/Dockerfile

+ 3 - 0
docker-compose.yml

@@ -98,6 +98,7 @@ services:
           - INSTALL_PG_CLIENT=${WORKSPACE_INSTALL_PG_CLIENT}
           - INSTALL_PHALCON=${WORKSPACE_INSTALL_PHALCON}
           - INSTALL_SWOOLE=${WORKSPACE_INSTALL_SWOOLE}
+          - INSTALL_TAINT=${WORKSPACE_INSTALL_TAINT}
           - INSTALL_LIBPNG=${WORKSPACE_INSTALL_LIBPNG}
           - INSTALL_IONCUBE=${WORKSPACE_INSTALL_IONCUBE}
           - INSTALL_MYSQL_CLIENT=${WORKSPACE_INSTALL_MYSQL_CLIENT}
@@ -162,6 +163,7 @@ services:
           - INSTALL_LDAP=${PHP_FPM_INSTALL_LDAP}
           - INSTALL_PHALCON=${PHP_FPM_INSTALL_PHALCON}
           - INSTALL_SWOOLE=${PHP_FPM_INSTALL_SWOOLE}
+          - INSTALL_TAINT=${PHP_FPM_INSTALL_TAINT}
           - INSTALL_IMAGE_OPTIMIZERS=${PHP_FPM_INSTALL_IMAGE_OPTIMIZERS}
           - INSTALL_IMAGEMAGICK=${PHP_FPM_INSTALL_IMAGEMAGICK}
           - INSTALL_CALENDAR=${PHP_FPM_INSTALL_CALENDAR}
@@ -208,6 +210,7 @@ services:
           - INSTALL_AMQP=${PHP_WORKER_INSTALL_AMQP}
           - INSTALL_GHOSTSCRIPT=${PHP_WORKER_INSTALL_GHOSTSCRIPT}
           - INSTALL_SWOOLE=${PHP_WORKER_INSTALL_SWOOLE}
+          - INSTALL_TAINT=${PHP_WORKER_INSTALL_TAINT}
           - INSTALL_FFMPEG=${PHP_WORKER_INSTALL_FFMPEG}
           - INSTALL_GMP=${PHP_WORKER_INSTALL_GMP}
           - PUID=${PHP_WORKER_PUID}

+ 3 - 0
env-example

@@ -129,6 +129,7 @@ WORKSPACE_INSTALL_DUSK_DEPS=false
 WORKSPACE_INSTALL_PG_CLIENT=false
 WORKSPACE_INSTALL_PHALCON=false
 WORKSPACE_INSTALL_SWOOLE=false
+WORKSPACE_INSTALL_TAINT=false
 WORKSPACE_INSTALL_LIBPNG=false
 WORKSPACE_INSTALL_IONCUBE=false
 WORKSPACE_INSTALL_MYSQL_CLIENT=false
@@ -170,6 +171,7 @@ PHP_FPM_INSTALL_GHOSTSCRIPT=false
 PHP_FPM_INSTALL_LDAP=false
 PHP_FPM_INSTALL_PHALCON=false
 PHP_FPM_INSTALL_SWOOLE=false
+PHP_FPM_INSTALL_TAINT=false
 PHP_FPM_INSTALL_PG_CLIENT=false
 PHP_FPM_INSTALL_POSTGIS=false
 PHP_FPM_INSTALL_PCNTL=false
@@ -196,6 +198,7 @@ PHP_WORKER_INSTALL_MYSQL_CLIENT=false
 PHP_WORKER_INSTALL_AMQP=false
 PHP_WORKER_INSTALL_GHOSTSCRIPT=false
 PHP_WORKER_INSTALL_SWOOLE=false
+PHP_WORKER_INSTALL_TAINT=false
 PHP_WORKER_INSTALL_FFMPEG=false
 PHP_WORKER_INSTALL_GMP=false
 

+ 15 - 0
php-fpm/Dockerfile

@@ -223,6 +223,21 @@ RUN if [ ${INSTALL_SWOOLE} = true ]; then \
     && php -m | grep -q 'swoole' \
 ;fi
 
+###########################################################################
+# Taint EXTENSION
+###########################################################################
+
+ARG INSTALL_TAINT=false
+
+RUN if [ ${INSTALL_TAINT} = true ]; then \
+    # Install Php TAINT Extension
+    if [ $(php -r "echo PHP_MAJOR_VERSION;") = "7" ]; then \
+      pecl install taint && \
+      docker-php-ext-enable taint && \
+      php -m | grep -q 'taint'; \
+    fi \
+;fi
+
 ###########################################################################
 # MongoDB:
 ###########################################################################

+ 13 - 0
php-worker/Dockerfile

@@ -135,6 +135,19 @@ RUN if [ ${INSTALL_SWOOLE} = true ]; then \
     && docker-php-ext-enable swoole \
 ;fi
 
+###########################################################################
+# Taint EXTENSION
+###########################################################################
+
+ARG INSTALL_TAINT=false
+
+RUN if [ ${INSTALL_TAINT} = true ]; then \
+    # Install Php TAINT Extension
+    if [ $(php -r "echo PHP_MAJOR_VERSION;") = "7" ]; then \
+      pecl install taint; \
+    fi && \
+    docker-php-ext-enable taint \
+;fi
 
 #
 #--------------------------------------------------------------------------

+ 16 - 0
workspace/Dockerfile

@@ -435,6 +435,22 @@ RUN if [ ${INSTALL_SWOOLE} = true ]; then \
     && php -m | grep -q 'swoole' \
 ;fi
 
+###########################################################################
+# Taint EXTENSION
+###########################################################################
+
+ARG INSTALL_TAINT=false
+
+RUN if [ "${INSTALL_TAINT}" = true ]; then \
+    # Install Php TAINT Extension
+    if [ $(php -r "echo PHP_MAJOR_VERSION;") = "7" ]; then \
+      pecl install taint && \
+      echo "extension=taint.so" >> /etc/php/${LARADOCK_PHP_VERSION}/mods-available/taint.ini && \
+      ln -s /etc/php/${LARADOCK_PHP_VERSION}/mods-available/taint.ini /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/20-taint.ini && \
+      php -m | grep -q 'taint'; \
+    fi \
+;fi
+
 ###########################################################################
 # Libpng16 EXTENSION
 ###########################################################################