github.com/drud/ddev@v1.21.5-alpha1.0.20230226034409-94fcc4b94453/pkg/ddevapp/global_dotddev_assets/commands/web/xdebug (about)

     1  #!/bin/bash
     2  
     3  ## #ddev-generated
     4  ## Description: Enable or disable xdebug
     5  ## Usage: xdebug on|off|enable|disable|true|false|status
     6  ## Example: "ddev xdebug" (default is "on"), "ddev xdebug off", "ddev xdebug on", "ddev xdebug status"
     7  ## Execraw: false
     8  ## Flags: []
     9  
    10  if [ $# -eq 0 ] ; then
    11    enable_xdebug
    12    exit
    13  fi
    14  
    15  xdebug_version=$(php --version | awk '/Xdebug v/ {print $3}')
    16  
    17  case $1 in
    18      on|true|enable)
    19  	enable_xdebug
    20  	;;
    21  	off|false|disable)
    22  	disable_xdebug
    23  	;;
    24  	status)
    25    case ${xdebug_version} in
    26    v3*)
    27      status=$(php -r 'echo ini_get("xdebug.mode");' 2>/dev/null)
    28      if [[ "${status}" =~ .*"debug".* ]]; then
    29        result="xdebug enabled"
    30      else
    31        result="xdebug disabled"
    32      fi
    33      ;;
    34    v2*)
    35      status=$(php -r 'echo ini_get("xdebug.remote_enable");')
    36      if [ "${status}" = "1" ]; then
    37        result="xdebug enabled"
    38      else
    39        result="xdebug disabled"
    40      fi
    41      ;;
    42    *)
    43      result="xdebug disabled"
    44      ;;
    45    esac
    46  
    47  	echo $result
    48  	;;
    49      *)
    50      echo "Invalid argument: $1"
    51      ;;
    52  esac