summaryrefslogtreecommitdiff
path: root/xdebugPhpFpm
diff options
context:
space:
mode:
authorKapil Viren Ahuja <k.v.ahuja@gmail.com>2017-02-10 14:54:24 +0530
committerKapil Viren Ahuja <k.v.ahuja@gmail.com>2017-02-10 14:54:24 +0530
commit93e44e57fbbb86df7a03c6d9ecfa751fb22342a1 (patch)
tree526824b4f6571519bb55c8a8c090fee90e2aeab0 /xdebugPhpFpm
parent69868a6899c09e13da52a2675349ccbab2858995 (diff)
downloadvaindock-93e44e57fbbb86df7a03c6d9ecfa751fb22342a1.tar.gz
vaindock-93e44e57fbbb86df7a03c6d9ecfa751fb22342a1.zip
works for:
- vainsocial.com - pg for web - pg for raw - pgAdmin
Diffstat (limited to 'xdebugPhpFpm')
-rw-r--r--xdebugPhpFpm101
1 files changed, 101 insertions, 0 deletions
diff --git a/xdebugPhpFpm b/xdebugPhpFpm
new file mode 100644
index 0000000..5af6eac
--- /dev/null
+++ b/xdebugPhpFpm
@@ -0,0 +1,101 @@
+#! /bin/bash
+
+# NOTE: At the moment, this has only been confirmed to work with PHP 7
+
+
+# Grab full name of php-fpm container
+PHP_FPM_CONTAINER=$(docker-compose ps | grep php-fpm | cut -d " " -f 1)
+
+
+# Grab OS type
+if [[ "$(uname)" == "Darwin" ]]; then
+ OS_TYPE="OSX"
+else
+ OS_TYPE=$(expr substr $(uname -s) 1 5)
+fi
+
+
+xdebug_status ()
+{
+ echo 'xDebug status'
+
+ # If running on Windows, need to prepend with winpty :(
+ if [[ $OS_TYPE == "MINGW" ]]; then
+ winpty docker exec -it $PHP_FPM_CONTAINER bash -c 'php -v'
+
+ else
+ docker exec -it $PHP_FPM_CONTAINER bash -c 'php -v'
+ fi
+
+}
+
+
+xdebug_start ()
+{
+ echo 'Start xDebug'
+
+ # And uncomment line with xdebug extension, thus enabling it
+ ON_CMD="sed -i 's/^;zend_extension=/zend_extension=/g' \
+ /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini"
+
+
+ # If running on Windows, need to prepend with winpty :(
+ if [[ $OS_TYPE == "MINGW" ]]; then
+ winpty docker exec -it $PHP_FPM_CONTAINER bash -c "${ON_CMD}"
+ docker restart $PHP_FPM_CONTAINER
+ winpty docker exec -it $PHP_FPM_CONTAINER bash -c 'php -v'
+
+ else
+ docker exec -it $PHP_FPM_CONTAINER bash -c "${ON_CMD}"
+ docker restart $PHP_FPM_CONTAINER
+ docker exec -it $PHP_FPM_CONTAINER bash -c 'php -v'
+ fi
+}
+
+
+xdebug_stop ()
+{
+ echo 'Stop xDebug'
+
+ # Comment out xdebug extension line
+ OFF_CMD="sed -i 's/^zend_extension=/;zend_extension=/g' /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini"
+
+
+ # If running on Windows, need to prepend with winpty :(
+ if [[ $OS_TYPE == "MINGW" ]]; then
+ # This is the equivalent of:
+ # winpty docker exec -it laradock_php-fpm_1 bash -c 'bla bla bla'
+ # Thanks to @michaelarnauts at https://github.com/docker/compose/issues/593
+ winpty docker exec -it $PHP_FPM_CONTAINER bash -c "${OFF_CMD}"
+ docker restart $PHP_FPM_CONTAINER
+ #docker-compose restart php-fpm
+ winpty docker exec -it $PHP_FPM_CONTAINER bash -c 'php -v'
+
+ else
+ docker exec -it $PHP_FPM_CONTAINER bash -c "${OFF_CMD}"
+ # docker-compose restart php-fpm
+ docker restart $PHP_FPM_CONTAINER
+ docker exec -it $PHP_FPM_CONTAINER bash -c 'php -v'
+ fi
+}
+
+
+case $@ in
+ stop|STOP)
+ xdebug_stop
+ ;;
+ start|START)
+ xdebug_start
+ ;;
+ status|STATUS)
+ xdebug_status
+ ;;
+ *)
+ echo "xDebug [Stop | Start | Status] in the ${PHP_FPM_CONTAINER} container."
+ echo "xDebug must have already been installed."
+ echo "Usage:"
+ echo " ./xdebugPhpFpm stop|start|status"
+
+esac
+
+exit 1