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"' |
Thanks @Apen :-)
Thank you, works very well with minimal adjustments needed.
I'm glad it helped you @gigamarr ! Thanks for giving your feedback, I really appreciate that 👍
Running xdebug.sh disable
I get
Xdebug already disabled
91a746fb170266e43bfb0d924edaeea3bbcd896fb12c4831c711b0ad1b6bd224
Status:
Xdebug ENABLED
So is it disabled or enabled ? 😅
@krisztian-fekete impossible to tell from the amount of data you provided 😄
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Thanks a lot ! Simple and working :-)