ansible-role-php-xdebug icon indicating copy to clipboard operation
ansible-role-php-xdebug copied to clipboard

Upgrade to 3.0.0

Open joelpittet opened this issue 4 years ago • 9 comments

I was in the middle of a PR but the changes seem big so may warrant a discussion a bit. https://php.watch/articles/xdebug2-vs-3-benchmark https://xdebug.org/docs/upgrade_guide

Looks like much of the config has been replaced by a specific "mode"

xdebug.remote_enable=1
xdebug.default_enable=0
xdebug.profiler_enable=0
xdebug.auto_trace=0
xdebug.coverage_enable=0

becomes

xdebug.mode=debug

Default port changed from 9000 to 9003 (which is great because fpm always collides with it)

The xdebug.remote_autostart setting has been removed. Instead, set xdebug.start_with_request to yes.

So the big question, how much BC are you looking for @geerlingguy ?

joelpittet avatar Nov 28 '20 06:11 joelpittet

This issue has been marked 'stale' due to lack of recent activity. If there is no further activity, the issue will be closed in another 30 days. Thank you for your contribution!

Please read this blog post to see the reasons why I mark issues as stale.

stale[bot] avatar Feb 26 '21 07:02 stale[bot]

This issue has been closed due to inactivity. If you feel this is in error, please reopen the issue or file a new issue with the relevant details.

stale[bot] avatar Mar 29 '21 02:03 stale[bot]

Maybe still needs addressing?

joelpittet avatar Mar 29 '21 06:03 joelpittet

I took a stab at starting to support both 2.x/3.x with behaviour changing by version. It very quickly spiralled out from there, maintaining full backwards compatibility appears to be far more work than I initially anticipated.

phizev avatar Mar 29 '21 20:03 phizev

Hi @geerlingguy,

Can you reopen this issue?

"ansible-role-php-xdebug" is not compatible with xdebug 3.0.0.

It is therefore not possible to use PHP 8.0

GuillaumeGBzh avatar Jul 22 '21 14:07 GuillaumeGBzh

This issue is no longer marked for closure.

stale[bot] avatar Jul 23 '21 04:07 stale[bot]

This issue is no longer marked for closure.

stale[bot] avatar Jul 23 '21 04:07 stale[bot]

We should do this :)

In terms of BC... I haven't followed super close, but are the PHP version requirements much different between 2.9.x and 3.x? If not, we could break the BC and I wouldn't feel so bad just bumping this role one major version.

geerlingguy avatar Jul 23 '21 04:07 geerlingguy

Its been a while—

Xdebug 3.x supports php 7.2 and up. Seeing that php 7.2 is end of life, I think its okay to break the BC.

Jeff, If this is a good way to move forward, Ill make some readme updates as well

jonnyeom avatar Jan 28 '22 20:01 jonnyeom

As this issue appears to be high-level regarding xdebug 3.x, I wanted to note that code coverage appears to enabled by xdebug.mode=coverage. This matches my experience with using Laravel's artisan test --coverage feature.

Also note that xdebug.mode can have multiple values.

kentr avatar Aug 22 '24 00:08 kentr

Also wanted to note: In my experience, the role will install xdebug 3.x (tested with 3.3.2), but won't fully configure it.

kentr avatar Aug 22 '24 00:08 kentr

Definitely okay breaking bc now, I only support PHP 8.1+ now anyways, too hard to keep support for older versions.

geerlingguy avatar Aug 22 '24 00:08 geerlingguy

Closing this issue for now — please open a follow-up with any notes about 3.x incompatibilities with this role.

geerlingguy avatar Sep 12 '24 16:09 geerlingguy