diff options
| author | Ilia Alshanetsky <iliaa@php.net> | 2006-12-12 18:05:25 +0000 |
|---|---|---|
| committer | Ilia Alshanetsky <iliaa@php.net> | 2006-12-12 18:05:25 +0000 |
| commit | cbaaf1bc0751db56df25f136085d54337b07d90e (patch) | |
| tree | 602834c5b416fc9430e66ce47f3ec757543b186d | |
| parent | e034b4a8b088b6ac664405874b0a43650afb1f7a (diff) | |
| download | php-git-cbaaf1bc0751db56df25f136085d54337b07d90e.tar.gz | |
Fixed bug #39797 (virtual() does not reset changed INI settings).
| -rw-r--r-- | NEWS | 1 | ||||
| -rw-r--r-- | sapi/apache2handler/sapi_apache2.c | 14 |
2 files changed, 15 insertions, 0 deletions
@@ -50,6 +50,7 @@ PHP NEWS - Fixed FastCGI impersonation for persistent connections on Windows. (Dmitry) - Fixed wrong signature initialization in imagepng (Takeshi Abe) - Added optimization for imageline with horizontal and vertial lines (Pierre) +- Fixed bug #39797 (virtual() does not reset changed INI settings). (Ilia) - Fixed bug #39795 (build fails on AIX because crypt_r() uses different data struct). (Tony) - Fixed bug #39791 (Crash in strtotime() on overly long relative date diff --git a/sapi/apache2handler/sapi_apache2.c b/sapi/apache2handler/sapi_apache2.c index b5818f8385..87b1861531 100644 --- a/sapi/apache2handler/sapi_apache2.c +++ b/sapi/apache2handler/sapi_apache2.c @@ -467,6 +467,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; |
