Commit 4156b52296c for php.net

commit 4156b52296c11dffd655256c2c3b13e4c090ebdb
Merge: 27a88a3c90e 8206eb1cb4e
Author: Ilija Tovilo <ilija.tovilo@me.com>
Date:   Tue Feb 24 17:31:08 2026 +0100

    Merge branch 'PHP-8.5'

    * PHP-8.5:
      Fix preloaded constant erroneously propagated to file-cached script

diff --cc Zend/Optimizer/zend_optimizer.c
index b57ad3ad426,d3a43617e92..f8cbefdaaf2
--- a/Zend/Optimizer/zend_optimizer.c
+++ b/Zend/Optimizer/zend_optimizer.c
@@@ -774,12 -774,15 +774,15 @@@ void zend_optimizer_shift_jump(const ze
  	}
  }

 -static bool zend_optimizer_ignore_class(zval *ce_zv, zend_string *filename)
 +static bool zend_optimizer_ignore_class(zval *ce_zv, const zend_string *filename)
  {
 -	zend_class_entry *ce = Z_PTR_P(ce_zv);
 +	const zend_class_entry *ce = Z_PTR_P(ce_zv);

  	if (ce->ce_flags & ZEND_ACC_PRELOADED) {
+ 		if (CG(compiler_options) & ZEND_COMPILE_WITH_FILE_CACHE) {
+ 			return true;
+ 		}
 -		Bucket *ce_bucket = (Bucket*)((uintptr_t)ce_zv - XtOffsetOf(Bucket, val));
 +		const Bucket *ce_bucket = (const Bucket*)((uintptr_t)ce_zv - XtOffsetOf(Bucket, val));
  		size_t offset = ce_bucket - EG(class_table)->arData;
  		if (offset < EG(persistent_classes_count)) {
  			return false;
@@@ -797,7 -800,10 +800,10 @@@ static bool zend_optimizer_ignore_funct
  		return false;
  	} else if (fbc->type == ZEND_USER_FUNCTION) {
  		if (fbc->op_array.fn_flags & ZEND_ACC_PRELOADED) {
+ 			if (CG(compiler_options) & ZEND_COMPILE_WITH_FILE_CACHE) {
+ 				return true;
+ 			}
 -			Bucket *fbc_bucket = (Bucket*)((uintptr_t)fbc_zv - XtOffsetOf(Bucket, val));
 +			const Bucket *fbc_bucket = (const Bucket*)((uintptr_t)fbc_zv - XtOffsetOf(Bucket, val));
  			size_t offset = fbc_bucket - EG(function_table)->arData;
  			if (offset < EG(persistent_functions_count)) {
  				return false;