PHP 7 debugging

I’m trying to debug/profile with PHP 7, but it looks like Komodo IDE is supporting only the following versions: 4.4, 5.0, 5.1, 5.2, 5.3, 5.4, 5.5, 5.6. Such versions are available in my Komodo directory, under lib/support/php/debugging, and the same versions are inside downloadable debugging software
Apart supporting completely obsolete PHP versions (I mean, 4.4 is jurassic), how it’s possible that 7.0 is not supported? PHP is about to release 7.1!

You can use your own php 7 interpreter, config and xdebug, but you won’t be able to code profiling until there will be a special version of xdebug by Komodo. I remember @careyh is related somehow to php7 debugging in Komodo.

@garakkio,

You can use xdebug binaries for debugging: https://xdebug.org/download.php

@Defman is correct that we need to create a custom binary for profiling.

The PHP 7 bits have not been released yet unfortunately.

  • Carey

I just tried to do so, I created a lib/support/php/debugging/7.0/ dir and symlinked xdebug.so from my system.
Unfortunately, as soon as I click “Start Code Profiling”, I’m getting a popup saying “PHP is not configured for ‘Profiling’” (but it is).
Here is an extract from log:

[2016-12-06 20:29:54,759] [ERROR] debugSessionTab: 
-- EXCEPTION START --
TypeError: ko.dbg.manager.currentSession is null
+ stack
    outputTabManager.prototype.tabSwitch@chrome://komodo/content/debugger/debugSessionTab.js:1261:13
    ko_dbg_createTab_tabSelectListener@chrome://komodo/content/debugger/debugSessionTab.js:998:17
    _dispatchEvent@chrome://komodo/content/bindings/pane.xml:1074:11
    set_collapsed@chrome://komodo/content/bindings/pane.xml:1672:19
    showWidget@chrome://komodo/content/bindings/pane.xml:619:11
    addWidget@chrome://komodo/content/bindings/pane.xml:299:17
    koWidgetManager_modifyWidget/<@chrome://komodo/content/library/widgets.js:371:21
    koWidgetManager_getWidgetAsync/<@chrome://komodo/content/library/widgets.js:322:25
    openDialogWrap@chrome://komodo/content/komodo.js:641:19
    dialog_customButtons@chrome://komodo/content/library/dialogs.js:327:1
    this.invocation._showInvalidInterpreterAlert@chrome://komodo/content/debugger/debugger.js:2241:22
    this.invocation.isValidInterpreter@chrome://komodo/content/debugger/debugger.js:2255:13
    ko_dbg_invocation_getInvocation/onSessionReady@chrome://komodo/content/debugger/debugger.js:2219:18
    ko_dbg_invocation_getInvocation@chrome://komodo/content/debugger/debugger.js:2231:13
    ko_dbg_invocation_doStart/onSessionReady@chrome://komodo/content/debugger/debugger.js:2431:1
    DBG_Manager_newSession/onTabMgrReady@chrome://komodo/content/debugger/debugger.js:382:13
    outputTabManager_getTabMgr@chrome://komodo/content/debugger/debugSessionTab.js:1082:21
    DBG_Manager_newSession@chrome://komodo/content/debugger/debugger.js:388:13
    ko_dbg_invocation_doStart@chrome://komodo/content/debugger/debugger.js:2537:17
    this.invocation.profileScript@chrome://komodo/content/debugger/debugger.js:2611:1
    doProfile@chrome://komodo/content/debugger/debuggerController.js:241:9
    DebuggerItemsController.prototype.do_cmd_dbgProfile@chrome://komodo/content/debugger/debuggerController.js:247:9
    xtk.Controller.prototype.doCommand@chrome://xtk/content/controller.js:61:9
    command_doCommand@chrome://komodo/content/library/commands.js:239:1
    command_doCommandAsync/<@chrome://komodo/content/library/commands.js:196:13
-- EXCEPTION END --

That would be because it requires custom bits from us as mentioned by @Defman and myself. Do you actually need code profiling or are you just checking to see if it works?

  • Carey

Note Komodo can still analyze php profiling logs even if you use a different version of xdebug, it just won’t be able to start the profiler from Komodo itself.

OK guys, I’m currently able to use the debugger, but I’d like to use the profiler too.
PHP 7 was released a year ago, and next month the only actively supported versions will be 7.0 and 7.1, I hope you understand that missing such thing is a big deal.
I love Komodo IDE and I use it for many years, I hope to see this issue addressed soon. Let me know if I can do something more, like providing more informations or opening an issue somewhere (I guess not on github, where I see only KomodEdit repository)
Thanks

Issues for Komodo IDE are there as well.

@garakkio Komodo 10.2 will have the correct debugging bits.

@careyh can we upload the bits somewhere in the meantime (temporarily) to offer as a workaround?

1 Like