76 lines
1.5 KiB
Bash
Executable File
76 lines
1.5 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
## #ddev-generated
|
|
## Description: Enable or disable xdebug
|
|
## Usage: xdebug on|off|enable|disable|true|false|toggle|status
|
|
## Example: "ddev xdebug" (default is "on"), "ddev xdebug off", "ddev xdebug on", "ddev xdebug toggle", "ddev xdebug status"
|
|
## Execraw: false
|
|
## Flags: []
|
|
|
|
if [ $# -eq 0 ] ; then
|
|
enable_xdebug
|
|
exit
|
|
fi
|
|
|
|
xdebug_version=$(php --version | awk '/Xdebug v/ {print $3}')
|
|
|
|
case $1 in
|
|
on|true|enable)
|
|
enable_xdebug
|
|
;;
|
|
off|false|disable)
|
|
disable_xdebug
|
|
;;
|
|
toggle)
|
|
case ${xdebug_version} in
|
|
v3*)
|
|
status=$(php -r 'echo ini_get("xdebug.mode");' 2>/dev/null)
|
|
if [[ "${status}" =~ .*"debug".* ]]; then
|
|
disable_xdebug
|
|
else
|
|
enable_xdebug
|
|
fi
|
|
;;
|
|
v2*)
|
|
status=$(php -r 'echo ini_get("xdebug.remote_enable");')
|
|
if [ "${status}" = "1" ]; then
|
|
disable_xdebug
|
|
else
|
|
enable_xdebug
|
|
fi
|
|
;;
|
|
*)
|
|
enable_xdebug
|
|
;;
|
|
esac
|
|
;;
|
|
status)
|
|
case ${xdebug_version} in
|
|
v3*)
|
|
status=$(php -r 'echo ini_get("xdebug.mode");' 2>/dev/null)
|
|
if [[ "${status}" =~ .*"debug".* ]]; then
|
|
result="xdebug enabled"
|
|
else
|
|
result="xdebug disabled"
|
|
fi
|
|
;;
|
|
v2*)
|
|
status=$(php -r 'echo ini_get("xdebug.remote_enable");')
|
|
if [ "${status}" = "1" ]; then
|
|
result="xdebug enabled"
|
|
else
|
|
result="xdebug disabled"
|
|
fi
|
|
;;
|
|
*)
|
|
result="xdebug disabled"
|
|
;;
|
|
esac
|
|
|
|
echo $result
|
|
;;
|
|
*)
|
|
echo "Invalid argument: $1"
|
|
;;
|
|
esac
|