diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index b0829d5c2081fd4f1fa2d20604499cc61e68f5d6..014eb93a30e8a05d265989b8b5090752a0f2843e 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -27,7 +27,7 @@ Make All Images:
   script:
     - make 
 
-test:
+Test Sonar Scanner:
   stage: test
   tags:
     - dockerd
@@ -35,6 +35,14 @@ test:
     - docker run --rm its-registry.unl.edu/unl-its/docker-ci/static-code-analysis sonar-scanner -v
     - docker run --rm -v "${PWD}:/work" -w /work its-registry.unl.edu/unl-its/docker-ci/detect-secrets -s
 
+Test PHP Lint:
+  stage: test
+  tags:
+    - linux, dockerd
+  script: 
+    - t/php-lint/tests.sh
+
+
 Push to Container Registry:
   after_script:
     - rm -f /var/lib/gitlab-runner/.docker/config.json
diff --git a/php-lint/php-lint b/php-lint/php-lint
index afb52f2337d64b0c7e1b97b4daf665909e744329..c14a4f3fc19d134c1aa02ad0396eee672b40d423 100644
--- a/php-lint/php-lint
+++ b/php-lint/php-lint
@@ -51,8 +51,8 @@ for dir in "${LINT_DIRS[@]}"; do
     echo "Scanning directory ${dir} for extension ${ext}"
 
     # Scan current dir and ext and lint them
-    for f in $(find "${dir}" -type f -name "*${ext}"); do
-      OUTPUT=$(php -l $f 2>&1)
+    find "${dir}" -type f -name "*${ext}" -print0 | while IFS= read -r -d '' f; do
+      OUTPUT=$(php -l "$f" 2>&1)
       rc=$?
 
       if [[ $rc != 0 ]]; then # Non-zero exit code, print error and exit
diff --git a/php-unit-test/7.1/Dockerfile b/php-unit-test/7.1/Dockerfile
index 63ce09cb3f9dc803d13341d5a6edeab378b2c7cd..43734cacb69357d313dcd9c877a57ed4e1312e64 100644
--- a/php-unit-test/7.1/Dockerfile
+++ b/php-unit-test/7.1/Dockerfile
@@ -12,9 +12,10 @@ LABEL org.label-schema.build-date=$BUILD_DATE \
       org.label-schema.schema-version="1.0" \
       maintainer="Alan Nelson <alan.nelson@nebraska.edu>"
 
-RUN apk add --no-cache bash nodejs nodejs-npm $PHPIZE_DEPS \
-    && pecl install xdebug \
-    && docker-php-ext-enable xdebug \
+RUN apk add --no-cache bash nodejs nodejs-npm libmcrypt-dev $PHPIZE_DEPS \
+    && pecl install xdebug redis \
+    && docker-php-ext-enable xdebug redis \
+    && docker-php-ext-install mcrypt \
     && apk del --no-cache $PHPIZE_DEPS
 RUN curl -o /usr/local/bin/composer https://getcomposer.org/composer.phar \
   && chmod 755 /usr/local/bin/composer
diff --git a/php-unit-test/7.2/Dockerfile b/php-unit-test/7.2/Dockerfile
index 97bdcd162a98ea51fc46b6bc3885aff7b827d710..7edf64a73c851ef23929c0231ca831f6f20d9883 100644
--- a/php-unit-test/7.2/Dockerfile
+++ b/php-unit-test/7.2/Dockerfile
@@ -13,8 +13,8 @@ LABEL org.label-schema.build-date=$BUILD_DATE \
       maintainer="Alan Nelson <alan.nelson@nebraska.edu>"
 
 RUN apk add --no-cache bash nodejs nodejs-npm $PHPIZE_DEPS \
-    && pecl install xdebug \
-    && docker-php-ext-enable xdebug \
+    && pecl install xdebug redis \
+    && docker-php-ext-enable xdebug redis \
     && apk del --no-cache $PHPIZE_DEPS
 RUN curl -o /usr/local/bin/composer https://getcomposer.org/composer.phar \
   && chmod 755 /usr/local/bin/composer
diff --git a/static-code-analysis/Dockerfile b/static-code-analysis/Dockerfile
index a6524d42c39d6bbb06d00fb2c08cc0ea0baf8cce..6424a9a967b991036d409e58d05d2ac88686022b 100644
--- a/static-code-analysis/Dockerfile
+++ b/static-code-analysis/Dockerfile
@@ -12,7 +12,7 @@ LABEL org.label-schema.build-date=$BUILD_DATE \
       org.label-schema.schema-version="1.0" \
       maintainer="J.R. Barreras <barreras@unl.edu>"
 
-ENV SONAR_SCANNER_VERSION 3.3.0.1492
+ENV SONAR_SCANNER_VERSION 4.0.0.1744
 
 WORKDIR /opt
 
diff --git a/static-code-analysis/android/Dockerfile b/static-code-analysis/android/Dockerfile
index 7ec3ab9376c38e78432e870652708fffa1ede442..3857f6347c71f14dde0d235b831ea3721e183b15 100644
--- a/static-code-analysis/android/Dockerfile
+++ b/static-code-analysis/android/Dockerfile
@@ -12,7 +12,7 @@ LABEL org.label-schema.build-date=$BUILD_DATE \
       org.label-schema.schema-version="1.0" \
       maintainer="Alan Nelson <alan.nelson@nebraska.edu>"
 
-ENV SONAR_SCANNER_VERSION 3.2.0.1227
+ENV SONAR_SCANNER_VERSION 4.0.0.1744
 ENV SONAR_HOME /opt/sonar-scanner
 
 ENV PATH ${PATH}:${SONAR_HOME}
diff --git a/t/php-lint/tests.sh b/t/php-lint/tests.sh
new file mode 100755
index 0000000000000000000000000000000000000000..08283421813abcaec43229d0b5b83ae5dd8e3684
--- /dev/null
+++ b/t/php-lint/tests.sh
@@ -0,0 +1,14 @@
+TMP_DIR=`mktemp -d`
+chmod 777 ${TMP_DIR}
+touch "${TMP_DIR}/dumb php file with spaces.php"
+touch "${TMP_DIR}/ddumb_php_file_without_spaces.php"
+touch "${TMP_DIR}/$(printf '\u03c0').php"
+docker run --rm -v "${TMP_DIR}:/work"  its-registry.unl.edu/unl-its/docker-ci/php-lint:latest php-lint -d /work 
+RET=$?
+rm -rf ${TMP_DIR}
+if [ $RET -eq 0 ]; then
+  echo "PASS";
+else
+  echo "FAIL";
+fi
+exit $RES