File tree 1 file changed +14
-0
lines changed
1 file changed +14
-0
lines changed Original file line number Diff line number Diff line change @@ -93,7 +93,21 @@ int fpm_php_apply_defines_ex(struct key_value_s *kv, int mode) /* {{{ */
93
93
if (!strcmp (name , "extension" ) && * value ) {
94
94
zval zv ;
95
95
zend_interned_strings_switch_storage (0 );
96
+
97
+ #if ZEND_RC_DEBUG
98
+ bool orig_rc_debug = zend_rc_debug ;
99
+ /* FIXME: Loading extensions after php_module_startup() breaks some
100
+ * invariants. For instance, it will update the refcount of persistent
101
+ * strings, which is normally not allowed at this stage. */
102
+ zend_rc_debug = false;
103
+ #endif
104
+
96
105
php_dl (value , MODULE_PERSISTENT , & zv , 1 );
106
+
107
+ #if ZEND_RC_DEBUG
108
+ zend_rc_debug = orig_rc_debug ;
109
+ #endif
110
+
97
111
zend_interned_strings_switch_storage (1 );
98
112
return Z_TYPE (zv ) == IS_TRUE ? FPM_PHP_INI_EXTENSION_LOADED : FPM_PHP_INI_EXTENSION_FAILED ;
99
113
}
You can’t perform that action at this time.
0 commit comments