Index: streams.c =================================================================== RCS file: /repository/php-src/main/streams/streams.c,v retrieving revision 1.68 diff -r1.68 streams.c 1495,1496c1495,1503 < #ifdef PHP_WIN32 < if (protocol && path[n+1] == '/' && path[n+2] == '/' && path[n+4] != ':') { --- > if (protocol) { > int localhost = 0; > > if (!strncasecmp(path, "file://localhost/", 17)) { > localhost = 1; > } > > #ifdef PHP_WIN32 > if (localhost == 0 && path[n+3] != '\0' && path[n+3] != '/' && path[n+4] != ':') { 1498c1505 < if (protocol && path[n+1] == '/' && path[n+2] == '/' && path[n+3] != '/') { --- > if (localhost == 0 && path[n+3] != '/') { 1500,1501c1507,1510 < if (options & REPORT_ERRORS) { < php_error_docref(NULL TSRMLS_CC, E_WARNING, "remote host file access not supported, %s", path); --- > if (options & REPORT_ERRORS) { > php_error_docref(NULL TSRMLS_CC, E_WARNING, "remote host file access not supported, %s", path); > } > return NULL; 1503,1508c1512,1519 < return NULL; < } < if (protocol && path_for_open) { < /* skip past protocol and :/, but handle windows correctly */ < *path_for_open = (char*)path + n + 1; < while (*(++*path_for_open)=='/'); --- > > if (path_for_open) { > /* skip past protocol and :/, but handle windows correctly */ > *path_for_open = (char*)path + n + 1; > if (localhost == 1) { > (*path_for_open) += 11; > } > while (*(++*path_for_open)=='/'); 1510c1521 < if (*(*path_for_open + 1) != ':') --- > if (*(*path_for_open + 1) != ':') 1512c1523,1524 < (*path_for_open)--; --- > (*path_for_open)--; > }