mirror of
https://github.com/php/php-src.git
synced 2025-08-19 08:49:28 +02:00
MFB: Fixed bug #39797 (virtual() does not reset changed INI settings).
This commit is contained in:
parent
3de95b79c3
commit
a918d00548
1 changed files with 14 additions and 0 deletions
|
@ -462,6 +462,20 @@ static void php_apache_ini_dtor(request_rec *r, request_rec *p TSRMLS_DC)
|
|||
{
|
||||
if (strcmp(r->protocol, "INCLUDED")) {
|
||||
zend_try { zend_ini_deactivate(TSRMLS_C); } zend_end_try();
|
||||
} else {
|
||||
typedef struct {
|
||||
HashTable config;
|
||||
} php_conf_rec;
|
||||
char *str;
|
||||
uint str_len;
|
||||
php_conf_rec *c = ap_get_module_config(r->per_dir_config, &php5_module);
|
||||
|
||||
for (zend_hash_internal_pointer_reset(&c->config);
|
||||
zend_hash_get_current_key_ex(&c->config, &str, &str_len, NULL, 0, NULL) == HASH_KEY_IS_STRING;
|
||||
zend_hash_move_forward(&c->config)
|
||||
) {
|
||||
zend_restore_ini_entry(str, str_len, ZEND_INI_STAGE_SHUTDOWN);
|
||||
}
|
||||
}
|
||||
if (p) {
|
||||
((php_struct *)SG(server_context))->r = p;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue