summaryrefslogtreecommitdiff
path: root/sapi
diff options
context:
space:
mode:
Diffstat (limited to 'sapi')
-rw-r--r--sapi/isapi/php4isapi.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/sapi/isapi/php4isapi.c b/sapi/isapi/php4isapi.c
index 5e48b35811..4f39b36ca7 100644
--- a/sapi/isapi/php4isapi.c
+++ b/sapi/isapi/php4isapi.c
@@ -376,6 +376,22 @@ static void sapi_isapi_register_server_variables(zval *track_vars_array ELS_DC S
}
variable = php_strtok_r(NULL, "\r\n", &strtok_buf);
}
+
+#ifdef PHP_WIN32
+ {
+ HSE_URL_MAPEX_INFO humi;
+ DWORD plen = 1;
+
+ if (lpECB->ServerSupportFunction(lpECB->ConnID, HSE_REQ_MAP_URL_TO_PATH_EX, "/", &plen, (LPDWORD) &humi)) {
+ /* Remove trailing \ */
+ if(humi.lpszPath[strlen(humi.lpszPath) - 1] == '\\') {
+ humi.lpszPath[strlen(humi.lpszPath) - 1] = '\0';
+ }
+ php_register_variable("DOCUMENT_ROOT", humi.lpszPath, track_vars_array ELS_CC PLS_CC);
+ }
+ }
+#endif
+
if (variable_buf!=static_variable_buf) {
efree(variable_buf);
}