Browse Source

fix bug http://bugs.php.net/bug.php?id=24009

also do not use APPL_PHYSICAL_PATH as DOCUMENT_ROOT under IIS, it's
different depending on IIS configuration.  Code works fine without it, that
was just an attempt at a shortcut.
PEAR_1_4DEV
Shane Caraveo 23 years ago
parent
commit
97ffab21a6
  1. 18
      sapi/cgi/cgi_main.c

18
sapi/cgi/cgi_main.c

@ -684,8 +684,6 @@ static void init_request_info(TSRMLS_D)
_sapi_cgibin_putenv("ORIG_SCRIPT_FILENAME",env_script_filename TSRMLS_CC);
}
if (!env_document_root) {
/* IIS version of DOCUMENT_ROOT, not avail in cgi, but is in fastcgi */
env_document_root = sapi_cgibin_getenv("APPL_PHYSICAL_PATH",0 TSRMLS_CC);
/* ini version of document root */
if (!env_document_root) {
env_document_root = PG(doc_root);
@ -1477,6 +1475,11 @@ consult the installation file that came with this distribution, or visit \n\
/* request startup only after we've done all we can to
get path_translated */
if (php_request_startup(TSRMLS_C)==FAILURE) {
#if PHP_FASTCGI
if (fastcgi) {
FCGX_Finish_r(&request);
}
#endif
php_module_shutdown(TSRMLS_C);
return FAILURE;
}
@ -1504,6 +1507,14 @@ consult the installation file that came with this distribution, or visit \n\
if (retval == FAILURE && file_handle.handle.fp == NULL) {
SG(sapi_headers).http_response_code = 404;
PUTS("No input file specified.\n");
#if PHP_FASTCGI
/* we want to serve more requests if this is fastcgi
so cleanup and continue, request shutdown is
handled later */
if (fastcgi) {
goto fastcgi_request_done;
}
#endif
php_request_shutdown((void *) 0);
php_module_shutdown(TSRMLS_C);
return FAILURE;
@ -1573,6 +1584,9 @@ consult the installation file that came with this distribution, or visit \n\
#endif
}
#if PHP_FASTCGI
fastcgi_request_done:
#endif
{
char *path_translated;

Loading…
Cancel
Save