debug-cli 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. #!/bin/bash
  2. S=$(bin/clinotty cat /usr/local/etc/php/php.ini | grep -iGc 'xdebug.mode = off');
  3. if [[ $S == 1 ]]; then
  4. echo "Enable xdebug first"
  5. exit 1
  6. fi
  7. R=$(cat ./env/phpfpm.env | grep -c 'XDEBUG_CONFIG=idekey')
  8. if [[ -z "$2" ]]
  9. then
  10. platform="PHPSTORM"
  11. else
  12. platform=$2
  13. fi
  14. local_debug_status(){
  15. if [[ $R == 1 ]]; then
  16. echo "Cli debug enabled"
  17. else
  18. echo "Cli debug disabled"
  19. fi
  20. }
  21. local_debug_toggle() {
  22. if [[ $R == 1 ]]; then
  23. local_debug_disable
  24. else
  25. local_debug_enable
  26. fi
  27. }
  28. local_debug_enable() {
  29. if [[ $R == 1 ]]; then
  30. echo "Already enabled"
  31. exit 0
  32. fi
  33. echo "XDEBUG_CONFIG=idekey=$platform" >> ./env/phpfpm.env
  34. echo "Cli debug enabled"
  35. }
  36. local_debug_disable() {
  37. sed -i '' '/XDEBUG_CONFIG=idekey/d' ./env/phpfpm.env
  38. echo "Cli debug disabled"
  39. }
  40. firstArgLetter="$(echo "$1" | head -c 1)"
  41. if [[ $firstArgLetter == "d" ]]; then
  42. local_debug_disable
  43. elif [[ $firstArgLetter == "e" ]]; then
  44. local_debug_enable
  45. elif [[ $firstArgLetter == "t" ]]; then
  46. local_debug_toggle
  47. elif [[ $firstArgLetter == "s" ]]; then
  48. local_debug_status
  49. else
  50. 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"
  51. fi