瀏覽代碼

Merge pull request #2898 from PavelSavushkinMix/fix/ioncube_extension

fix(ioncube extension): remove installation for PHP 8
Shao Yu-Lung (Allen) 4 年之前
父節點
當前提交
4cb35f1fa4
共有 4 個文件被更改,包括 19 次插入15 次删除
  1. 0 1
      .github/workflows/main-ci.yml
  2. 2 2
      env-example
  3. 8 6
      php-fpm/Dockerfile
  4. 9 6
      workspace/Dockerfile

+ 0 - 1
.github/workflows/main-ci.yml

@@ -37,7 +37,6 @@ jobs:
         sed -i -- 's/MSSQL=true/MSSQL=false/g' .env
         sed -i -- 's/MEMCACHED=true/MEMCACHED=false/g' .env
         sed -i -- 's/OCI8=true/OCI8=false/g' .env
-        sed -i -- 's/IONCUBE=true/IONCUBE=false/g' .env
         docker-compose build ${{ matrix.service }}
 
   build-other:

+ 2 - 2
env-example

@@ -167,7 +167,7 @@ WORKSPACE_INSTALL_SWOOLE=false
 WORKSPACE_INSTALL_TAINT=false
 WORKSPACE_INSTALL_LIBPNG=false
 WORKSPACE_INSTALL_GRAPHVIZ=false
-WORKSPACE_INSTALL_IONCUBE=false
+WORKSPACE_INSTALL_IONCUBE=false # PHP 8.0 is not supported yet. Reference: https://forum.ioncube.com/viewtopic.php?t=4592
 WORKSPACE_INSTALL_MYSQL_CLIENT=false
 WORKSPACE_INSTALL_PING=false
 WORKSPACE_INSTALL_SSHPASS=false
@@ -242,7 +242,7 @@ PHP_FPM_INSTALL_POSTGIS=false
 PHP_FPM_INSTALL_PCNTL=false
 PHP_FPM_INSTALL_CALENDAR=false
 PHP_FPM_INSTALL_FAKETIME=false
-PHP_FPM_INSTALL_IONCUBE=false
+PHP_FPM_INSTALL_IONCUBE=false # PHP 8.0 is not supported yet. Reference: https://forum.ioncube.com/viewtopic.php?t=4592
 PHP_FPM_INSTALL_RDKAFKA=false
 PHP_FPM_INSTALL_GETTEXT=false
 PHP_FPM_INSTALL_XMLRPC=false

+ 8 - 6
php-fpm/Dockerfile

@@ -614,12 +614,14 @@ RUN if [ ${INSTALL_OCI8} = true ]; then \
 ARG INSTALL_IONCUBE=false
 
 RUN if [ ${INSTALL_IONCUBE} = true ]; then \
-    # Install the php ioncube loader
-    curl -L -o /tmp/ioncube_loaders_lin_x86-64.tar.gz https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz \
-    && tar zxpf /tmp/ioncube_loaders_lin_x86-64.tar.gz -C /tmp \
-    && mv /tmp/ioncube/ioncube_loader_lin_${LARADOCK_PHP_VERSION}.so $(php -r "echo ini_get('extension_dir');")/ioncube_loader.so \
-    && printf "zend_extension=ioncube_loader.so\n" > $PHP_INI_DIR/conf.d/0ioncube.ini \
-    && rm -rf /tmp/ioncube* \
+    if [ $(php -r "echo PHP_MAJOR_VERSION;") != "8" ]; then \
+      # Install the php ioncube loader
+      curl -L -o /tmp/ioncube_loaders_lin_x86-64.tar.gz https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz \
+      && tar zxpf /tmp/ioncube_loaders_lin_x86-64.tar.gz -C /tmp \
+      && mv /tmp/ioncube/ioncube_loader_lin_${LARADOCK_PHP_VERSION}.so $(php -r "echo ini_get('extension_dir');")/ioncube_loader.so \
+      && printf "zend_extension=ioncube_loader.so\n" > $PHP_INI_DIR/conf.d/0ioncube.ini \
+      && rm -rf /tmp/ioncube* \
+    ;fi \
 ;fi
 
 ###########################################################################

+ 9 - 6
workspace/Dockerfile

@@ -701,12 +701,15 @@ RUN if [ ${INSTALL_GRAPHVIZ} = true ]; then \
 ARG INSTALL_IONCUBE=false
 
 RUN if [ ${INSTALL_IONCUBE} = true ]; then \
-    # Install the php ioncube loader
-    curl -L -o /tmp/ioncube_loaders_lin_x86-64.tar.gz https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz \
-    && tar zxpf /tmp/ioncube_loaders_lin_x86-64.tar.gz -C /tmp \
-    && mv /tmp/ioncube/ioncube_loader_lin_${LARADOCK_PHP_VERSION}.so $(php -r "echo ini_get('extension_dir');")/ioncube_loader.so \
-    && echo "zend_extension=ioncube_loader.so" >> /etc/php/${LARADOCK_PHP_VERSION}/mods-available/0ioncube.ini \
-    && rm -rf /tmp/ioncube* \
+    if [ $(php -r "echo PHP_MAJOR_VERSION;") != "8" ]; then \
+      # Install the php ioncube loader
+      curl -L -o /tmp/ioncube_loaders_lin_x86-64.tar.gz https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz \
+      && tar zxpf /tmp/ioncube_loaders_lin_x86-64.tar.gz -C /tmp \
+      && mv /tmp/ioncube/ioncube_loader_lin_${LARADOCK_PHP_VERSION}.so $(php -r "echo ini_get('extension_dir');")/ioncube_loader.so \
+      && echo "zend_extension=ioncube_loader.so" >> /etc/php/${LARADOCK_PHP_VERSION}/mods-available/ioncube.ini \
+      && ln -s /etc/php/${LARADOCK_PHP_VERSION}/mods-available/ioncube.ini /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/0ioncube.ini \
+      && rm -rf /tmp/ioncube* \
+    ;fi \
 ;fi
 
 ###########################################################################