You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
On Zend/php-src 8.2+, writing an undeclared property on a class without#[AllowDynamicProperties] emits E_DEPRECATED (Creation of dynamic property … is deprecated) and still performs the write.
On tip 7ea033c479, VM and JIT perform the write silently (no deprecation) under PHP_COMPILER_PROFILE=8.2.
Repro
Zend 8.2.30
VM/JIT PROFILE=8.2 (7ea033c479)
class A {} then $a->x = 1
Deprecated: Creation of dynamic property A::$x is deprecated + 1
Shared write-property path in lib/VM + JIT lowering: emit E_DEPRECATED when profile ≥ 8.2, class lacks AllowDynamicProperties, and property is not declared
Activity
PurHur commentedon Aug 9, 2026
claim: worker-lane-C — starting this run
Gate snapshot before work:
Language: emit dynamic property E_DEPRECATED under PROFILE≥8.2 (#29195)…
PurHur commentedon Aug 9, 2026
Merged #29198
Verification
PHP_COMPILER_PROFILE=8.2VM + JIT:Creation of dynamic property A::$x is deprecatedthen1/ AllowDynamicProperties + stdClass silentPHP_COMPILER_PROFILE=8.1: silent (Zend 8.1)EAllProfileValueTest,DynamicPropertyDeprecationCliTest,DynamicPropertyDeprecationVMTest,DynamicPropertyDeprecatedJITTest— OKRoot cause: explicit PROFILE≤8.3 used the #4842
22527guest startup mask (noE_DEPRECATED); Zend 8.2+ php.ini isE_ALL.