Jump to content

Zend Debugger not working in Linux Kali with Apache and Zend Studio


Recommended Posts

I've been working on Windows in PHP for many years using Zend Studio and Zend Debugger which is great. Now I'm trying to set this up on my Linux Kali installation and I'm having some problems with this.

I have installed newest Apache 2.4.46 and PHP 7.4.x from debian repositories (using apt) (strangly the sub-version (x) was not the newest one!). After downloading Zend Debugger and configuring it in php.ini the debugger was not present in phpinfo().

The file downloaded from Zend website (https://www.zend.com/downloads/zend-studio-web-debugger) is named ZendDebugger-linux-x86_64/php-7.0.x/ZendDebugger.so and it doesn't work with PHP 7.4.x (very bad from Zend, isn't it? Or did I do something wrong?)

Anyway I switched to PHP 7.0.x - also downloaded from apt and then the debugger showed up in phpinfo(). I have installed Zend Studio 13 and Firefox toolbar which is configured with default settings: broadcast port 20080 (clicking Test button shows OK).

I run Zend Studio and click "Debug Current Page" in Firefox on some localhost PHP file with breakpoints set up and it doesn't work - instead I see standard "Connect has timed out" in Firefox - WHY? It looks like ports are not disabled on localhost, but I'm rather new to Linux so I may be wrong somewhere...

Please help :-)

What I added to php.ini :

zend_extension=/usr/lib/php/ZendDebugger-linux-x86_64/php-7.0.x/ZendDebugger.so

[zend_debugger]
zend_debugger.allow_hosts=127.0.0.1
zend_debugger.allow_from_all=true
zend_debugger.passive_mode_timeout=60
zend_debugger.expose_remotely=always

Link to post
Share on other sites

Yes, by all means, continue using a debugger that has clearly been abandoned and at a minimum does not work with any supported versions of PHP. It's definitely better for you to stick to the things you feel most comfortable with, even if that means working with a programming language that stopped receiving meaningful updates almost three years ago. It's not like the tech industry is constantly growing and evolving.

It's unfortunate that Xdebug is too "lame" to support things like step-by-step debugging or code profiling or code coverage reporting. Really makes you wonder why anybody uses it at all, doesn't it? I bet if you searched Google for ways to debug PHP you wouldn't find a single result recommending Xdebug.

Link to post
Share on other sites
  • 1 month later...

You know what... I just had a look at that xDebug and it looks like it completely changed over the years... I remember few years ago it only supported some lame variable output to browser - like I was using print_r ... I will definately have a look at that. However still I think it would be much simpler if I could use this ZendDebugger.

Edited by ProgrammingCaveman
Link to post
Share on other sites

I enabled logging errors to a file and it doesn't show any errors.

The extension is kept in /usr/lib/php/20190902 and it's the same dir which extension_dir in phpinfo() stands for.

At the end of php.ini I have:

zend_extension = xdebug.so

So it should, at least theoretically, work. What did I do wrong? I didn't see any error while compiling from sources, but maybe the compilation went somehow wrong??

Edited by ProgrammingCaveman
Link to post
Share on other sites

It compilation didn't work then you wouldn't have an xdebug.so in the first place.

Did you edit the correct php.ini or other settings files? Apache and php-fpm and php CLI all use different files.
And any particular reason why you are doing all this yourself? If you installed PHP from Debian's repos then why not install Xdebug the same way?

Link to post
Share on other sites

Fuck, good question... I didn't know xdebug is in Debian/Kali's repos. 

I edited right php.ini , I'm sure... what do you suggest to do now?

I added the lines below to /etc/php/7.4/apache2 :

zend_extension = xdebug.so
xdebug.remote_enable=1
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.remote_handler=dbgp
xdebug.remote_autostart=1
xdebug.remote_mode=req

 

Edited by ProgrammingCaveman
Link to post
Share on other sites

And you restarted Apache? And there's nothing in Apache's or PHP's error logs - just the normal startup messages?

If that's still not working then it's going to be some minor thing somewhere. Or you could just ignore it all and install from the repo.

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.