Fix screens that never matched their example - #5721
Open
KentarouTakeda wants to merge 4 commits into
Open
Conversation
A WHATWG URL does not store the port when it is the scheme's default, so getPort() and withPort() both echoed null while their screens claimed 443, and Url::parse() normalizes an empty path to "/", which its screen did not show. The extension is new in PHP 8.5, so these were wrong from the start. Echoing null renders as an empty box, so the two port examples use var_dump() now and also show a port that is kept: the contrast is what makes the normalization legible.
The bracketed link belongs to the html_errors output format rather than to the message the example prints, and no combination of html_errors and docref_root reproduces it on PHP 8.5. The screen was captured in a browser, where that reference is rendered as a link.
PcgOneseq128XslRr64 seeded with 42659 emits a156c0086dd79d44 second and 1e9f3107d56653d0 third, so jump(2) cannot produce the documented value. With that output both engines would agree, which is the opposite of what the example is there to show.
The example formats timestamps with date(), so its output followed the timezone of whoever ran it and could not be pinned down: the recorded values match no timezone on any PHP version I could test. The coordinates are Jerusalem, so the times are reported in that zone, as the polar night example below already does for Prudhoe Bay.
KentarouTakeda
force-pushed
the
fix-screens-that-never-matched
branch
from
July 31, 2026 18:16
ff40a1a to
f578447
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Third batch from the audit behind #5718: screens that match no PHP version, having been captured with other ini settings, written by hand, or written against an extension new in 8.5.
Uri\WhatWg\Url::getPort()andwithPort()echoed a port that normalization removes, so both printed nothing while their screens claimed 443. They usevar_dump()now and also show a port that is kept.Url::parse()normalizes an empty path to/.DateTimeZone::__construct(): the bracketed docref belongs to thehtml_errorsoutput format and no combination ofhtml_errorsanddocref_rootreproduces it on 8.5.PcgOneseq128XslRr64::jump(): seed 42659 emitsa156c0086dd79d44second and1e9f3107d56653d0third, sojump(2)cannot produce the documented value — with it both engines would agree, the opposite of the point being made.date_sun_info()formatted timestamps withdate(), so its output followed the reader's timezone; the coordinates are Jerusalem, so it is now set to that zone.Pages to check with Run code
Press Run code and the output that appears is what this PR puts in the
<screen>. The static one still on these pages is the "before" side of the diff, until the manual is rebuilt.P.S. — after the review on #5718, every example in this PR was re-run on 8.2, 8.3, 8.4 and 8.5 rather than trusted to Run code, which is one wasm build of one version.
One thing that turned up and is deliberately left alone:
date_sun_info()reports a slightly different sunrise and sunset on 8.2 than on 8.3+, because 8.3.22 fixed a regression. That is the same reasoning you applied to theLength of dayscreen on this page in #5718, so this screen keeps the current, correct values rather than being split.The
Uri\WhatWg\Urlpages are 8.5-only by construction, so a single screen is right there. Everything else agrees across 8.2–8.5.