The change from request_translate_uri to rq->vars "path"
also fixes the use of PATH_INFO and PHP as a default
index. Without this, PHP halts without error on
URI's like /app (with /app/index.php) or /script.php/commit.
The same problems with PATH_INFO & default index occur
when running PHP as a CGI. I've made a few changes to
cgi_main.c to fix this but havn't tested on anything but
NES 362.
I've been encountering quite a few bus error & seg faults
when using the NSAPI plugin (up to 5 a day) - these are
usually caught by uxwdog. Anybody else found the same?
I noticed also that the latest snapshot now includes the check
for ieeefp.h.
*** sapi/cgi/cgi_main.c.orig Sat Jan 20 00:09:12 2001
--- sapi/cgi/cgi_main.c Sat Jan 20 00:08:42 2001
***************
*** 168,174 ****
l += strlen(sn);
if (pi)
l += strlen(pi);
! if (pi && sn && !strcmp(pi, sn)) {
l -= strlen(pi);
pi = NULL;
}
--- 168,174 ----
l += strlen(sn);
if (pi)
l += strlen(pi);
! if (pi && sn && !strncmp(pi, sn, strlen(sn))) {
l -= strlen(pi);
pi = NULL;
}
***************
*** 314,323 ****
--- 314,337 ----
SG(request_info).request_method = getenv("REQUEST_METHOD");
SG(request_info).query_string = getenv("QUERY_STRING");
+ /*
SG(request_info).request_uri = getenv("PATH_INFO");
if (!SG(request_info).request_uri) {
SG(request_info).request_uri = getenv("SCRIPT_NAME");
}
+ */
+
+ SG(request_info).request_uri = getenv("SCRIPT_NAME");
+ if (SG(request_info).request_uri && SG(request_info).argv0 &&
+IS_SLASH(SG(request_info).request_uri[strlen(SG(request_info).request_uri)-1])) {
+ char *arg_file = strrchr(SG(request_info).argv0,DEFAULT_SLASH);
+ if (arg_file) {
+ char *script_name =
+emalloc(strlen(SG(request_info).request_uri)+strlen(arg_file)+1);
+ strcpy(script_name,SG(request_info).request_uri);
+ strcat(script_name,arg_file+1);
+ SG(request_info).request_uri = script_name;
+ }
+ }
+
SG(request_info).path_translated = NULL; /* we have to update it later, when
we have that information */
SG(request_info).content_type = getenv("CONTENT_TYPE");
SG(request_info).content_length = (content_length?atoi(content_length):0);
***************
*** 507,518 ****
ap_php_optarg = orig_optarg;
}
init_request_info(SLS_C);
SG(server_context) = (void *) 1; /* avoid server_context==NULL checks */
CG(extended_info) = 0;
- SG(request_info).argv0 = argv0;
-
zend_llist_init(&global_vars, sizeof(char *), NULL, 0);
if (!cgi) { /* never execute the arguments
if you are a CGI */
--- 521,532 ----
ap_php_optarg = orig_optarg;
}
+ SG(request_info).argv0 = argv0;
+
init_request_info(SLS_C);
SG(server_context) = (void *) 1; /* avoid server_context==NULL checks */
CG(extended_info) = 0;
zend_llist_init(&global_vars, sizeof(char *), NULL, 0);
if (!cgi) { /* never execute the arguments
if you are a CGI */
*** sapi/nsapi/nsapi.c.orig Sat Jan 20 15:11:01 2001
--- sapi/nsapi/nsapi.c Sat Jan 20 15:31:34 2001
***************
*** 101,106 ****
--- 101,107 ----
{ "HTTP_ACCEPT_LANGUAGE", "accept-language" },
{ "HTTP_AUTHORIZATION", "authorization" },
{ "HTTP_COOKIE", "cookie" },
+ { "HTTP_CLIENT_IP", "client-ip" },
{ "HTTP_IF_MODIFIED_SINCE", "if-modified-since" },
{ "HTTP_REFERER", "referer" },
{ "HTTP_USER_AGENT", "user-agent" },
***************
*** 445,457 ****
char *query_string = pblock_findval("query", NSG(rq)->reqpb);
char *uri = pblock_findval("uri", NSG(rq)->reqpb);
char *path_info = pblock_findval("path-info", NSG(rq)->vars);
! char *path_translated = NULL;
char *request_method = pblock_findval("method", NSG(rq)->reqpb);
char *content_type = pblock_findval("content-type", NSG(rq)->headers);
char *content_length = pblock_findval("content-length", NSG(rq)->headers);
if (uri != NULL)
path_translated = request_translate_uri(uri, NSG(sn));
#if defined(NSAPI_DEBUG)
log_error(LOG_INFORM, "nsapi_request_ctor", NSG(sn), NSG(rq),
--- 446,460 ----
char *query_string = pblock_findval("query", NSG(rq)->reqpb);
char *uri = pblock_findval("uri", NSG(rq)->reqpb);
char *path_info = pblock_findval("path-info", NSG(rq)->vars);
! char *path_translated = pblock_findval("path", NSG(rq)->vars);
char *request_method = pblock_findval("method", NSG(rq)->reqpb);
char *content_type = pblock_findval("content-type", NSG(rq)->headers);
char *content_length = pblock_findval("content-length", NSG(rq)->headers);
+ /*
if (uri != NULL)
path_translated = request_translate_uri(uri, NSG(sn));
+ */
#if defined(NSAPI_DEBUG)
log_error(LOG_INFORM, "nsapi_request_ctor", NSG(sn), NSG(rq),
--
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]