ByteInternet / hypernode-docker

Fast and easy Docker for Magento development
https://community.hypernode.io/hypernode-docker
35 stars 8 forks source link

Xdebug for PHP 8.0 and 8.1 #62

Closed markvds closed 1 year ago

markvds commented 2 years ago

Could you please update the xdebug version so php 8.0 and 8.1 are supported?

BTW Thanks for all the great work; we still use it every day for all our development work!

vdloo commented 2 years ago

hey @markvds, I just added php8.0-xdebug and php8.1-xdebug to our repository: https://github.com/ByteInternet/hypernode-docker/pull/63. can you try with installing php8.1-xdebug (or 8.0) instead of php-xdebug?

markvds commented 2 years ago

Thanks @vdloo! This works. Unfortunately I'm not really an expert when it comes to deb packages, but is it possible to have both php-xdebug and php8.x-debug installed? Installing one of the new packages uninstalls the original and vice versa. We only use one Docker image and switch on startup (in an extra script in /etc/my_init.d) to the PHP version that's specified using an environment variable in docker-compose.yml.

BTW 'no' is also fine. Then I'll alter our startup script to also install the correct xdebug version on startup.

vdloo commented 2 years ago

installing the one indeed uninstalls the other:

root@d833ef6d4b5b ~ # apt-get install php-xdebug=2.7.0~rc2+2.6.1+2.5.5-1
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be REMOVED:
  php8.1-xdebug
The following NEW packages will be installed:
  php-xdebug
root@d833ef6d4b5b ~ # apt-get install php8.1-xdebug
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be REMOVED:
  php-xdebug
The following NEW packages will be installed:
  php8.1-xdebug

so your best bet would be to either use different images for different PHP versions or make your startup script install either php-xdebug for anything < 8.0 and for 8.0 or 8.1 install php8.\-xdebug when you switch PHP version.

ghost commented 1 year ago

Make sure you use a xdebug 3 config file. Check out example

/etc/php/8.1/fpm/conf.d/20-xdebug.ini /etc/php/8.1/cli/conf.d/20-xdebug.ini (or symlink)

zend_extension=xdebug.so
xdebug.mode=debug
xdebug.client_port="9005"
xdebug.client_host="127.0.0.1"
xdebug.max_nesting_level=-1