-
Notifications
You must be signed in to change notification settings - Fork 2
Debug ProcessMaker process triggers
This section is under construction
Copy content of zipped file processmaker_debug_triggers.zip into processmaker installation folder.
You should get a new folder in workflow/public_html/ named triggers
- Install on the PM server the xDebug PHP extension from https://xdebug.org/docs/install (choose the method that fits your operating system)
- Configure xDebug extension like following:
[php_xdebug]
zend_extension = "pathtoxdebugext/php_xdebug.dll"
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.remote_log="c:\temp\xd.log"
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
- 'Open Folder' or 'Create a folder' like
/pm/
- 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 line:
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.