• Please be aware: Kaspersky Anti-Virus has been deprecated
    With the upgrade to Plesk Obsidian 18.0.64, "Kaspersky Anti-Virus for Servers" will be automatically removed from the servers it is installed on. We recommend that you migrate to Sophos Anti-Virus for Servers.
  • The Horde webmail has been deprecated. Its complete removal is scheduled for April 2025. For details and recommended actions, see the Feature and Deprecation Plan.
  • We’re working on enhancing the Monitoring feature in Plesk, and we could really use your expertise! If you’re open to sharing your experiences with server and website monitoring or providing feedback, we’d love to have a one-hour online meeting with you.

Resolved Xdebug stopped working after update to 3.2.0

Jayfin3

New Pleskian
Server operating system version
Ubuntu 20.04.5 LTS
Plesk version and microupdate number
18.0.49
Hello everyone,

after a recent update from Xdebug 3.1.5 to 3.2.0 and PHP 8.1.13 to 8.1.14 Xdebug has stopped working. We didn't change the configuration at all, which also still looks perfectly fine in the output of phpinfo()

For troubleshooting purposes, I set the following:

xdebug.log=/tmp/xdebug.log
xdebug.mode=profile
xdebug.start_with_request=yes

These adjustments are shown in phpinfo() and for every request, there's a new set of lines in the log (only "log opened" and "log closed", no helpful output). But there's no cachegrind.out file being created and there's nothing about that in the log.

When setting xdebug.mode=debug there's no connection being established. This worked fine before the update.

Can you give me any hints on how to make it work again?
 
Ok, I think I found the issue: I previously set xdebug.mode in /opt/plesk/php/8.1/etc/php-fpm.d/<domain>.conf using the UI. The result looks like this:

php_value[xdebug.mode] = develop,debug,profile

This worked with PHP 8.1.13 + Xdebug 3.1.5, but stoped working now. Setting xdebug.mode in php.ini works. The downside is obvious: Profiling and debugging is enabled for all domains.

Is there still a way to achieve this?
 
Hello.

Thanks for the tip, I was able to solve the problem!

I have exactly the same problem.

Fedora 37, php 8.2 + xdebug 3.2.0 from remi repo.

When switching to 8.0 from 7.0, I solved it by downgrade XDebug to 3.1.5.

In 8.2 XDebug 3.1.5 is not supported.

I have everything commented out in php.d/15-xdebug.ini. To enable XDebug, I use a separate systemd service where xdebug.so is added
Code:
/usr/sbin/php-fpm --nodaemonize -d "zend_extension=xdebug.so" -y /etc/php-fpm-xdebug.conf

For XDebug 3.2.0, I had to write in php.d/15-xdebug.ini
Code:
xdebug.mode = develop,debug,gcstats,profile,trace

After that everything worked!

Due to the fact that it does not respond to php_value[xdebug.mode], I lose the ability to configure pools differently.

Fortunately, the rest of the settings through php_value[xdebug.*] work.
 
Nice! How are you using that separate systemd service? Did you register it as a PHP handler in Plesk? Are you using it in addition to the default service or instead of it?
 
I don't use Plesk.

I ran into a similar issue on Fedora 37.

Enabled XDebug, even when not used, gives an overhead.

When developing, it is important that the sandbox works as fast as production!

Therefore, only when XDebug is needed, cookies switch to the desired php-fpm pool where XDebug is enabled.
 
Back
Top