Fixes #12666 (closed)
Backport of !21210 (merged) !20735 (merged) !19000 (merged)
https://www.php.net/ChangeLog-7.php#7.4.19