|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2017-05-12 06:08 UTC] kejinjin at gmail dot com
-PHP Version: 7.1.5
+PHP Version: 7.1.4
[2017-05-12 06:08 UTC] kejinjin at gmail dot com
[2017-10-03 16:43 UTC] cmb@php.net
-Status: Open
+Status: Feedback
-Assigned To:
+Assigned To: cmb
[2017-10-03 16:43 UTC] cmb@php.net
[2017-11-05 04:22 UTC] php-bugs at lists dot php dot net
[2017-12-13 04:04 UTC] kejinjin at gmail dot com
[2017-12-13 04:08 UTC] kejinjin at gmail dot com
[2017-12-13 08:24 UTC] cmb@php.net
-Status: No Feedback
+Status: Re-Opened
-Assigned To: cmb
+Assigned To:
[2017-12-21 11:31 UTC] kejinjin at gmail dot com
[2021-07-08 12:21 UTC] cmb@php.net
-Status: Re-Opened
+Status: Closed
-Package: opcache
+Package: PECL
-Assigned To:
+Assigned To: cmb
[2021-07-08 12:21 UTC] cmb@php.net
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Wed Oct 29 07:00:01 2025 UTC |
Description: ------------ I use uopz_redefine to redefine class constants (uopz called zend_declare_class_constant) when opcache is enabled, I cannot get the new class constant through Foo::BAR. Test script: --------------- <?php class Foo { const BAR = '123'; } var_dump(Foo::BAR);// A1: try to comment this (function () { var_dump(Foo::BAR); // B1: try to comment this uopz_redefine('Foo', 'BAR', '456'); var_dump(Foo::BAR); // B2: compare })(); (function () { var_dump(Foo::BAR); // new scope })(); var_dump((new ReflectionClass('Foo'))->getConstant('BAR')); // also OK var_dump(Foo::BAR); // A2: compare Expected result: ---------------- '123' '123' '456' '456' '456' '456' Actual result: -------------- '123' '123' '123' (it is '456' if line B1 is commented) '456' '456' '123' (it is '456' if line A1 is commented)