|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2019-06-08 19:48 UTC] krakjoe@php.net
[2019-06-08 19:48 UTC] krakjoe@php.net
-Status: Open
+Status: Closed
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Sat Oct 25 09:00:02 2025 UTC |
Description: ------------ With PHP 7.3, the BIND_STATIC lines are recorded on the right location, with PHP 7.4 they are no longer. This is with OPcache turned off: $ php -dopcache.enable_cli=0 -dvld.active=1 /tmp/bind-bug.php Test script: --------------- <?php $someObject->reduce(function () use ( $outerItem, $anotherOuterItem ) { return false; }); Expected result: ---------------- With PHP 7.3: filename: /tmp/bind-bug.php function name: {closure} number of ops: 7 compiled vars: !0 = $outerItem, !1 = $anotherOuterItem line #* E I O op fetch ext return operands ------------------------------------------------------------------------------------- 2 0 E > EXT_NOP 3 1 BIND_STATIC !0, 'outerItem' 4 2 BIND_STATIC !1, 'anotherOuterItem' 6 3 EXT_STMT 4 > RETURN <false> 7 5* EXT_STMT 6* > RETURN null Actual result: -------------- With PHP 7.4: filename: /tmp/bind-bug.php function name: {closure} number of ops: 7 compiled vars: !0 = $outerItem, !1 = $anotherOuterItem line #* E I O op fetch ext return operands ------------------------------------------------------------------------------------- 2 0 E > EXT_NOP 1 BIND_STATIC !0 2 BIND_STATIC !1 6 3 EXT_STMT 4 > RETURN <false> 7 5* EXT_STMT 6* > RETURN null