xdebug 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. #!/bin/bash
  2. S=$(bin/cli cat /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini | grep -iGc '^;');
  3. xdebug_status() {
  4. if [[ $S == 1 ]]; then
  5. tput bold; echo "Xdebug is disabled";
  6. else
  7. tput bold; echo "Xdebug is enabled";
  8. fi
  9. tput sgr0
  10. }
  11. xdebug_toggle() {
  12. if [[ $S == 1 ]]; then
  13. xdebug_enable
  14. else
  15. xdebug_disable
  16. fi
  17. }
  18. xdebug_enable() {
  19. if [[ $S == 1 ]]; then
  20. bin/cli sed -i -e 's/^\;zend_extension/zend_extension/g' /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
  21. sleep 1
  22. bin/restart phpfpm
  23. tput bold; echo "Xdebug has been enabled."; tput sgr0
  24. else
  25. tput bold; echo "Xdebug is already enabled."; tput sgr0
  26. fi
  27. }
  28. xdebug_disable() {
  29. if [[ $S == 0 ]]; then
  30. bin/cli sed -i -e 's/^\zend_extension/;zend_extension/g' /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
  31. sleep 1
  32. bin/restart phpfpm
  33. tput bold; echo "Xdebug has been disabled."; tput sgr0
  34. else
  35. tput bold; echo "Xdebug is already disabled."; tput sgr0
  36. fi
  37. }
  38. if [[ "$1" == "disable" ]]; then
  39. xdebug_disable
  40. elif [[ "$1" == "enable" ]]; then
  41. xdebug_enable
  42. elif [[ "$1" == "toggle" ]]; then
  43. xdebug_toggle
  44. elif [[ "$1" == "status" ]]; then
  45. xdebug_status
  46. else
  47. printf "Please specify either 'disable', 'enable', 'status' or 'toggle' as an argument\nEx: bin/xdebug status\n"
  48. fi