You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
#! /bin/bash
# NOTE: At the moment, this has only been confirmed to work with PHP 7
PHP_VERSION=$2 # Without dot WITH_PROFILER=$3
# Grab full name of php-fpm container PHP_FPM_CONTAINER=$(docker ps | grep php${PHP_VERSION} | awk '{print $1}')
if [[ -z "${PHP_FPM_CONTAINER}" ]]; then echo "Unable to find php fpm container: php${PHP_VERSION}" exit 1 fi
if [[ ! -z "${WITH_PROFILER}" ]]; then echo "With profiler option". fi
xdebug_status () { echo 'xDebug status'
docker exec -it $PHP_FPM_CONTAINER bash -c 'php -v' }
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" REMOTE_AUTOSTART_CMD="sed -i 's/^xdebug.remote_autostart=0/xdebug.remote_autostart=1/g' /usr/local/etc/php/conf.d/xdebug.ini" REMOTE_ENABLE_CMD="sed -i 's/^xdebug.remote_enable=0/xdebug.remote_enable=1/g' /usr/local/etc/php/conf.d/xdebug.ini" PROFILER_ENABLE_CDM="sed -i 's/^xdebug.profiler_enable=0/xdebug.profiler_enable=1/g' /usr/local/etc/php/conf.d/xdebug.ini"
docker exec -it $PHP_FPM_CONTAINER bash -c "${ON_CMD}" docker exec -it $PHP_FPM_CONTAINER bash -c "${REMOTE_AUTOSTART_CMD}" docker exec -it $PHP_FPM_CONTAINER bash -c "${REMOTE_ENABLE_CMD}" if [[ ! -z "${WITH_PROFILER}" ]]; then docker exec -it $PHP_FPM_CONTAINER bash -c "${PROFILER_ENABLE_CDM}" fi docker restart $PHP_FPM_CONTAINER docker exec -it $PHP_FPM_CONTAINER bash -c 'php -v' }
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" REMOTE_AUTOSTART_CMD="sed -i 's/^xdebug.remote_autostart=1/xdebug.remote_autostart=0/g' /usr/local/etc/php/conf.d/xdebug.ini" REMOTE_ENABLE_CMD="sed -i 's/^xdebug.remote_enable=1/xdebug.remote_enable=0/g' /usr/local/etc/php/conf.d/xdebug.ini" PROFILER_DISABLE_CMD="sed -i 's/^xdebug.profiler_enable=1/xdebug.profiler_enable=0/g' /usr/local/etc/php/conf.d/xdebug.ini"
docker exec -it $PHP_FPM_CONTAINER bash -c "${OFF_CMD}" docker exec -it $PHP_FPM_CONTAINER bash -c "${REMOTE_AUTOSTART_CMD}" docker exec -it $PHP_FPM_CONTAINER bash -c "${REMOTE_ENABLE_CMD}" docker exec -it $PHP_FPM_CONTAINER bash -c "${PROFILER_DISABLE_CMD}" # docker-compose restart php-fpm docker restart $PHP_FPM_CONTAINER docker exec -it $PHP_FPM_CONTAINER bash -c 'php -v' }
case $1 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 " .php-fpm/xdebug.sh 73|74 stop|start|status"
esac
exit 1
|