Last active
May 21, 2024 13:44
-
-
Save carstenwindler/b330028c41c453c905cbe0801470afd2 to your computer and use it in GitHub Desktop.
Bash script to quickly enable / disable xdebug in a PHP docker container
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash | |
# see https://carstenwindler.de/php/enable-xdebug-on-demand-in-your-local-docker-environment/ | |
if [ "$#" -ne 1 ]; then | |
SCRIPT_PATH=`basename "$0"` | |
echo "Usage: $SCRIPT_PATH enable|disable" | |
exit 1; | |
fi | |
# Expects service to be called app in docker-compose.yml | |
SERVICE_ID=$(docker-compose ps -q app) | |
if [ "$1" == "enable" ]; then | |
docker exec -i $SERVICE_ID bash -c \ | |
'[ -f /usr/local/etc/php/disabled/docker-php-ext-xdebug.ini ] && cd /usr/local/etc/php/ && mv disabled/docker-php-ext-xdebug.ini conf.d/ || echo "Xdebug already enabled"' | |
else | |
docker exec -i $SERVICE_ID bash -c \ | |
'[ -f /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini ] && cd /usr/local/etc/php/ && mkdir -p disabled/ && mv conf.d/docker-php-ext-xdebug.ini disabled/ || echo "Xdebug already disabled"' | |
fi | |
docker restart $SERVICE_ID | |
docker exec -i $SERVICE_ID bash -c '$(php -m | grep -q Xdebug) && echo "Status: Xdebug ENABLED" || echo "Status: Xdebug DISABLED"' |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Running
xdebug.sh disable
I getSo is it disabled or enabled ? 😅