-
Notifications
You must be signed in to change notification settings - Fork 2
Debug ProcessMaker process triggers
tomolimo edited this page May 21, 2019
·
13 revisions
This section is under construction
- Install on the PM server the Xdebug PHP extension (author Derick Rethans) from https://xdebug.org/docs/install (choose the method that fits your operating system)
- Configure Xdebug extension like following:
[php_xdebug]
xdebug.remote_enable = 1
xdebug.remote_handler = dbgp
xdebug.remote_host = ip_address_of_your_visual_studio_code
xdebug.remote_port = 9000
xdebug.remote_mode = req
xdebug.remote_autostart = 1
xdebug.auto_trace = off
xdebug.collect_assignments = on
xdebug.collect_return = on
xdebug.collect_vars = on
xdebug.dump_undefined = on
Note: ip_address_of_your_visual_studio_code is the IP address of your machine from which you want to start debugging. It's the machine hosting the Visual Studio Code. Don't use the xdebug.remote_connect_back
option as it will get the IP address of the GLPI server, and not the IP address of the VSC machine.
- Install Visual Studio Code from https://code.visualstudio.com/ on the client machine
- Start VSC, and install "PHP Extension Pack" (author Felix Becker) from marketplace
- Switch to 'Debug' view
- Start a debug session (it will propose you to choose an environment, select PHP), verify that the 'launch.json' file is like following (adding serverSourceRoot and localSourceRoot):
{
"version": "0.2.0",
"configurations": [
{
"name": "Listen for Xdebug",
"type": "php",
"request": "launch",
"port": 9000
},
{
"name": "Launch currently open script",
"type": "php",
"request": "launch",
"program": "${file}",
"cwd": "${fileDirname}",
"port": 9000
}
]
}
- In PM server admin.
- In the trigger you want to debug, add a PHP function call to:
xdebug_break();
at the place where you want a breakpoint to occur. Save the trigger. - In VSC Explorer, open the folder defined above.
- Start a debug session using the 'Listen for Xdebug' options.
- You may disable the 'Everything' breakpoint which is set by default, it's in the 'Debug' view and in the breakpoint list (bottom left).
- Start PM serveur admin (or GLPI if you want to debug a trigger used in GLPI) in your browser
- Execute task by task your process until you reach the breakpoint.
- Don't forget to comment out the
xdebug_break()
function call when you are finished with your debug.