2
0

debug-cli 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. #!/bin/bash
  2. S=$(bin/clinotty cat /usr/local/etc/php/php.ini | grep -iGc 'xdebug.mode = off');
  3. R=$(grep -c 'XDEBUG_CONFIG=idekey' ./env/phpfpm.env)
  4. if [[ -z "$2" ]]
  5. then
  6. platform="PHPSTORM"
  7. else
  8. platform=$2
  9. fi
  10. local_debug_status(){
  11. if [[ $R != 0 ]]; then
  12. echo "Cli debug enabled"
  13. else
  14. echo "Cli debug disabled"
  15. fi
  16. }
  17. local_debug_toggle() {
  18. if [[ $R != 0 ]]; then
  19. local_debug_disable
  20. else
  21. local_debug_enable
  22. fi
  23. }
  24. local_debug_enable() {
  25. if [[ $S == 1 ]]; then
  26. bin/xdebug enable
  27. fi
  28. if [[ $R != 0 ]]; then
  29. echo "Already enabled"
  30. exit 0
  31. fi
  32. echo "XDEBUG_CONFIG=idekey=$platform" >> ./env/phpfpm.env
  33. sleep 1
  34. bin/restart phpfpm
  35. echo "Cli debug enabled"
  36. }
  37. local_debug_disable() {
  38. sed -i '' '/XDEBUG_CONFIG=idekey/d' ./env/phpfpm.env
  39. sleep 1
  40. bin/restart phpfpm
  41. echo "Cli debug disabled"
  42. }
  43. firstArgLetter="$(echo "$1" | head -c 1)"
  44. if [[ $firstArgLetter == "d" ]]; then
  45. local_debug_disable
  46. elif [[ $firstArgLetter == "e" ]]; then
  47. local_debug_enable
  48. elif [[ $firstArgLetter == "t" ]]; then
  49. local_debug_toggle
  50. elif [[ $firstArgLetter == "s" ]]; then
  51. local_debug_status
  52. else
  53. printf "Please specify either 'disable', 'enable', 'status' or 'toggle' as mandatory argument.\nSpecify as an optional second argument the platform. Default is PHPSTORM\nEx: bin/debug-cli enable [PHPSTORM]\n"
  54. fi