Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3: Disable ZEND_RC_MOD_CHECK() while loading shared extension in FPM
This commit is contained in:
@ -93,7 +93,21 @@ int fpm_php_apply_defines_ex(struct key_value_s *kv, int mode) /* {{{ */
|
||||
if (!strcmp(name, "extension") && *value) {
|
||||
zval zv;
|
||||
zend_interned_strings_switch_storage(0);
|
||||
|
||||
#if ZEND_RC_DEBUG
|
||||
bool orig_rc_debug = zend_rc_debug;
|
||||
/* Loading extensions after php_module_startup() breaks some invariants.
|
||||
* For instance, it will update the refcount of persistent strings,
|
||||
* which is normally not allowed at this stage. */
|
||||
zend_rc_debug = false;
|
||||
#endif
|
||||
|
||||
php_dl(value, MODULE_PERSISTENT, &zv, 1);
|
||||
|
||||
#if ZEND_RC_DEBUG
|
||||
zend_rc_debug = orig_rc_debug;
|
||||
#endif
|
||||
|
||||
zend_interned_strings_switch_storage(1);
|
||||
return Z_TYPE(zv) == IS_TRUE ? FPM_PHP_INI_EXTENSION_LOADED : FPM_PHP_INI_EXTENSION_FAILED;
|
||||
}
|
||||
|
Reference in New Issue
Block a user