Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

[DI] Fix Xdebug 3.0 detection#39196

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Merged
nicolas-grekas merged 1 commit intosymfony:4.4fromvertexvaar:4.4
Dec 8, 2020
Merged

Conversation

@vertexvaar
Copy link
Contributor

QA
Branch?4.4 (for bug fixes)
Bug fix?yes
New feature?no
Deprecations?no
TicketsFix#39195
LicenseMIT
Doc PRn/a

Xdebug 3.0 removed the functionxdebug_is_enabled(). To detect if Xdebug 3.0 is installed (it doesn't even need to be enabled to reproduce the bug) i addedfunction_exists('xdebug_info'). AFAISxdebug_info() is available in Xdebug >= 3.0 only.

$messageinstanceof \Closure
&& (\function_exists('xdebug_is_enabled') &&xdebug_is_enabled() ||\function_exists('xdebug_info'))
) {
$message =$message();
Copy link
Member

@nicolas-grekasnicolas-grekasNov 27, 2020
edited
Loading

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

@derickr FYI we have this check here because xdebug changes the behavior of PHP in a way that prevents us from doing a lazy evaluation here: native PHP allows one to set the $message property of throwables to a stringable. We use this below.
It would be great if xdebug could preserve this behavior, if possible.

Copy link
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

I think i came up with a better solution. Please check the second commit, which replaces all xdebug-related stuff with resolving the messageCallback when the __toString method is called.
This will also eliminate performance drawbacks when xdebug is installed.

Copy link
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

I think i came up with a better solution. Please check the second commit, which replaces all xdebug-related stuff with resolving the messageCallback when the __toString method is called.
This will also eliminate performance drawbacks when xdebug is installed.

I take this back.getMessage() does not return the actual message.

@derickr
Copy link

derickr commentedNov 28, 2020 via email

On Fri, 27 Nov 2020, Nicolas Grekas wrote:@derickr FYI we have this check here because xdebug changes the behavior of PHP in a way that prevents us from doing a lazy evaluation here: native PHP allows one to set the $message property of throwables to a stringable. We use this below. It would be great if debug could preserve this behavior, if possible.
Xdebug shouldn't be changing behaviour, can you file a bug report athttps://bugs.xdebug.org ?cheers,Derick
-- PHP 7.4 Release ManagerHost of PHP Internals News:https://phpinternals.newsLike Xdebug? Consider supporting me:https://xdebug.org/supporthttps://derickrethans.nl |https://xdebug.org |https://dram.iotwitter:@derickr and@xdebug
ericpoe reacted with thumbs up emoji

@nicolas-grekasnicolas-grekas changed the title[CI] Fix Xdebug 3.0 detection #39195[CI] Fix Xdebug 3.0 detectionNov 30, 2020
@nicolas-grekasnicolas-grekas changed the title[CI] Fix Xdebug 3.0 detection[DI] Fix Xdebug 3.0 detectionNov 30, 2020
@nicolas-grekas
Copy link
Member

I submitted an issue athttps://bugs.xdebug.org/view.php?id=1907

xabbuh reacted with thumbs up emoji

Copy link
Member

@nicolas-grekasnicolas-grekas left a comment
edited
Loading

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

I'm going to merge this, but this also means that when xdebug is installed, autowiring exceptions are always computed. This makes the process slower.
It'd be great if the underlying issue in xdebug could be addressed somehow.

@nicolas-grekas
Copy link
Member

Thank you@vertexvaar.

vertexvaar reacted with rocket emoji

Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment

Reviewers

@nicolas-grekasnicolas-grekasnicolas-grekas approved these changes

@jderussejderussejderusse approved these changes

@xabbuhxabbuhxabbuh approved these changes

Assignees

No one assigned

Projects

None yet

Milestone

4.4

Development

Successfully merging this pull request may close these issues.

6 participants

@vertexvaar@derickr@nicolas-grekas@jderusse@xabbuh@carsonbot

[8]ページ先頭

©2009-2025 Movatter.jp