php-developer-list | 2000101
Date: 10/04/00
- Next message: bob <email protected>: "[PHP-DEV] PHP 4.0 Bug #7032: Multiple mysql connections over-write eachother"
- Previous message: Peter Kocks: "RE: [PHP-DEV] RE: Bug id #3386/3765/7031 - Informix related"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Is this still a problem? Has this been fixed?
Andi
At 01:19 PM 8/4/00 -0400, Comeau, Michel wrote:
>Hello everyone,
>
> I'm resending this fix since no-one seems to be taking care of
> entering it
>in the CVS and i personnaly can't do it. There was a small mistake i made so
>use this one instead of the previous one. Can someone check this fix and
>enter it in CVS please ? If there are issues just contact me.
>darkwing <email protected>
>
> This is my first Fix submission and i'm sure its not a big deal.
> The reason
>i mention it is that i believe that this fix should be checked carefully as
>i am very new to the OSS and PHP environments.
>
> I took the time to verify with a unix/apache user and when he echoes
>$DOCUMENT_ROOT, it's reporting the root of the virtual folder he is in.
>
> The fix should probably apply to PWS too but i havent verified it
> since i
>don't have any PWS installed here. I also cannot garantee that i'm using the
>correct fonctions but it seems to work for me. Feel free to fix whatever
>mistake i may have made.
>
>Specs & Test Case:
>
>NT4 SP5 server on local intranet with TCP/IP.
>IIS4 with 2 webs on 2 different IP's. (168.192.0.11 & 168.192.0.12)
>Web1 is HELPER located in d:\wwwroot
>Web2 is SHOPPER located in d:\wwwshop
>I have entries in LMHOSTS on remote Win2K to identify both.
>created /test.php in both webs containing : <? echo $DOCUMENT_ROOT; ?>
>
>the current output is : nothing, blank, nada, niet, white screen of
>emptyness for both webs :-)
>with the fix, the output is :
>for http://helper/test.php : d:\\wwwroot\\
>for http://shopper/testp.php : d:\\wwwshop\\
>
>
>HOW I FIXED IT:
>After having done lots of research in the code and trying to figure out
>where $DOCUMENT_ROOT was defined kinda showed me it was not defined
>properly. I still can't figure out where it was defined/initialized in the
>4.0.1pl2 source code. It seemed to only be define for the CGI version of
>PHP.
>
>I've also taken the time to verify how apache server were handling
>$DOCUMENT_ROOT by having a IRC user run my test scripts on his server with 2
>different subwebs and he got the expected result. Meaning 2 different system
>paths.
>
>THE SOURCE CHANGE:
>I have changed only 1 file to achieve my results: sapi/isapi/php4isapi.c
>remember that i changed 4.0.1pl2 version of it.
>
>function : sapi_isapi_register_server_variables() ... around line 307
>
>-----------------------------------------------------------------------
>static void sapi_isapi_register_server_variables(zval *track_vars_array
>ELS_DC SLS_DC PLS_DC)
>{
> char static_variable_buf[ISAPI_SERVER_VAR_BUF_SIZE];
> char *variable_buf;
> DWORD variable_len = ISAPI_SERVER_VAR_BUF_SIZE;
> char *variable;
> char *strtok_buf = NULL;
> LPEXTENSION_CONTROL_BLOCK lpECB;
> char **p = isapi_server_variables;
>
> lpECB = (LPEXTENSION_CONTROL_BLOCK) SG(server_context);
>...
>...
>...
> variable = php_strtok_r(variable_buf, "\r\n", &strtok_buf);
> while (variable) {
> char *colon = strchr(variable, ':');
>
> if (colon) {
> char *value = colon+1;
>
> while (*value==' ') {
> value++;
> }
> *colon = 0;
> php_register_variable(variable, value,
> track_vars_array ELS_CC PLS_CC);
> *colon = ':';
> }
> variable = php_strtok_r(NULL, "\r\n", &strtok_buf);
> }
>---------------- MY NEW CODE -------------
>#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 \
> humi.lpszPath[strlen(humi.lpszPath) - 1] = '\0';
> php_register_variable("DOCUMENT_ROOT",
> humi.lpszPath, track_vars_array
>ELS_CC PLS_CC);
> }
> }
>#endif
>--------------- END OF MY CODE -------------
>
> if (variable_buf!=static_variable_buf) {
> efree(variable_buf);
> }
>}
>-----------------------------------------------------------------------
>
>
>Regards,
>DarkByte
>
>
>--
>PHP Development Mailing List <http://www.php.net/>
>To unsubscribe, e-mail: php-dev-unsubscribe <email protected>
>For additional commands, e-mail: php-dev-help <email protected>
>To contact the list administrators, e-mail: php-list-admin <email protected>
--- Andi Gutmans <andi <email protected>> http://www.zend.com/-- PHP Development Mailing List <http://www.php.net/> To unsubscribe, e-mail: php-dev-unsubscribe <email protected> For additional commands, e-mail: php-dev-help <email protected> To contact the list administrators, e-mail: php-list-admin <email protected>
- Next message: bob <email protected>: "[PHP-DEV] PHP 4.0 Bug #7032: Multiple mysql connections over-write eachother"
- Previous message: Peter Kocks: "RE: [PHP-DEV] RE: Bug id #3386/3765/7031 - Informix related"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]

