From: Rob Landley Date: Thu, 1 Sep 2005 09:38:32 +0000 (-0000) Subject: Tracking system but #4: php needs the environment variable SCRIPT_FILENAME. X-Git-Tag: 1_1_0~794 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=344ea471ef63d54436f296c140e7f86c67237545;p=platform%2Fupstream%2Fbusybox.git Tracking system but #4: php needs the environment variable SCRIPT_FILENAME. --- diff --git a/networking/httpd.c b/networking/httpd.c index e3f4027..191a316 100644 --- a/networking/httpd.c +++ b/networking/httpd.c @@ -1146,6 +1146,11 @@ static int sendCgi(const char *url, } if(script != NULL) *script = '\0'; /* reduce /PATH_INFO */ + /* SCRIPT_FILENAME required by PHP in CGI mode */ + if(realpath(purl + 1, realpath_buff)) + addEnv("SCRIPT", "FILENAME", realpath_buff); + else + *realpath_buff = 0; /* set SCRIPT_NAME as full path: /cgi-bin/dirs/script.cgi */ addEnv("SCRIPT_NAME", "", purl); addEnv("QUERY_STRING", "", config->query); @@ -1178,7 +1183,7 @@ static int sendCgi(const char *url, /* set execve argp[0] without path */ argp[0] = strrchr( purl, '/' ) + 1; /* but script argp[0] must have absolute path and chdiring to this */ - if(realpath(purl + 1, realpath_buff) != NULL) { + if(*realpath_buff) { script = strrchr(realpath_buff, '/'); if(script) { *script = '\0';