summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--main/php_ini.c10
-rw-r--r--sapi/cgi/cgi_main.c4
2 files changed, 9 insertions, 5 deletions
diff --git a/main/php_ini.c b/main/php_ini.c
index f116692a0e..6bb0185f88 100644
--- a/main/php_ini.c
+++ b/main/php_ini.c
@@ -793,10 +793,18 @@ PHPAPI void php_ini_activate_per_dir_config(char *path, uint path_len TSRMLS_DC)
zval *tmp;
char *ptr;
+#if PHP_WIN32
+ char path_bak[MAXPATHLEN];
+ memcpy(path_bak, path, path_len);
+ path_bak[path_len] = 0;
+ TRANSLATE_SLASHES_LOWER(path_bak);
+ path = path_bak;
+#endif
+
/* Walk through each directory in path and apply any found per-dir-system-configuration from configuration_hash */
if (has_per_dir_config && path && path_len) {
ptr = path + 1;
- while ((ptr = strchr(ptr, DEFAULT_SLASH)) != NULL) {
+ while ((ptr = strchr(ptr, '/')) != NULL) {
*ptr = 0;
/* Search for source array matching the path from configuration_hash */
if (zend_hash_find(&configuration_hash, path, path_len, (void **) &tmp) == SUCCESS) {
diff --git a/sapi/cgi/cgi_main.c b/sapi/cgi/cgi_main.c
index eaf47ffbbe..80110dd83f 100644
--- a/sapi/cgi/cgi_main.c
+++ b/sapi/cgi/cgi_main.c
@@ -818,10 +818,6 @@ static int sapi_cgi_activate(TSRMLS_D)
path_len = zend_dirname(path, path_len);
}
path[path_len] = 0;
-#ifdef PHP_WIN32
- /* paths on windows should be case-insensitive */
- zend_str_tolower(path, path_len);
-#endif
/* Activate per-dir-system-configuration defined in php.ini and stored into configuration_hash during startup */
php_ini_activate_per_dir_config(path, path_len TSRMLS_CC); /* Note: for global settings sake we check from root to path */