diff --git a/kernels/ZendEngine3/object.c b/kernels/ZendEngine3/object.c index 4950316643..88678e5eef 100644 --- a/kernels/ZendEngine3/object.c +++ b/kernels/ZendEngine3/object.c @@ -443,16 +443,17 @@ int zephir_read_property(zval *result, zval *object, const char *property_name, } ce = Z_OBJCE_P(object); - if (ce->parent) { - ce = zephir_lookup_class_ce(ce, property_name, property_length); - } #if PHP_VERSION_ID >= 70100 + zend_class_entry* scope = EG(fake_scope) ? EG(fake_scope) : zend_get_executed_scope(); old_scope = EG(fake_scope); EG(fake_scope) = ce; #else old_scope = EG(scope); EG(scope) = ce; + if (ce->parent) { + ce = zephir_lookup_class_ce(ce, property_name, property_length); + } #endif if (!Z_OBJ_HT_P(object)->read_property) { diff --git a/kernels/ZendEngine3/require.c b/kernels/ZendEngine3/require.c index f465ee8b6b..d0e8898bd7 100644 --- a/kernels/ZendEngine3/require.c +++ b/kernels/ZendEngine3/require.c @@ -79,7 +79,7 @@ int zephir_require_ret(zval *return_value_ptr, const char *require_path) } #if PHP_VERSION_ID >= 70100 - new_op_array->scope = EG(fake_scope); + new_op_array->scope = EG(fake_scope) ? EG(fake_scope) : zend_get_executed_scope(); #else new_op_array->scope = EG(scope); #endif