shane Sun Jun 29 16:45:38 2003 EDT Modified files: /php-src/sapi/cgi cgi_main.c Log: renable -b option (removed when longopts were added) dissable -b on windows due to fastcgi lib bug close stdin on linux when using socket server (bug 23664) Index: php-src/sapi/cgi/cgi_main.c diff -u php-src/sapi/cgi/cgi_main.c:1.234 php-src/sapi/cgi/cgi_main.c:1.235 --- php-src/sapi/cgi/cgi_main.c:1.234 Sun Jun 29 16:09:36 2003 +++ php-src/sapi/cgi/cgi_main.c Sun Jun 29 16:45:38 2003 @@ -20,7 +20,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: cgi_main.c,v 1.234 2003/06/29 20:09:36 shane Exp $ */ +/* $Id: cgi_main.c,v 1.235 2003/06/29 20:45:38 shane Exp $ */ #include "php.h" #include "php_globals.h" @@ -122,6 +122,9 @@ static const opt_struct OPTIONS[] = { {'a', 0, "interactive"}, +#ifndef PHP_WIN32 + {'b', 1, "bindpath"}, +#endif {'C', 0, "no-chdir"}, {'c', 1, "php-ini"}, {'d', 1, "define"}, @@ -937,7 +940,9 @@ int max_requests = 500; int requests = 0; int fastcgi = !FCGX_IsCGI(); +#ifndef PHP_WIN32 char *bindpath = NULL; +#endif int fcgi_fd = 0; FCGX_Request request; #ifdef PHP_WIN32 @@ -1012,6 +1017,7 @@ cgi_sapi_module.php_ini_ignore = 1; break; #if PHP_FASTCGI +#ifndef PHP_WIN32 /* if we're started on command line, check to see if we are being started as an 'external' fastcgi server by accepting a bindpath parameter. */ @@ -1021,6 +1027,7 @@ } break; #endif +#endif } } @@ -1100,12 +1107,19 @@ #endif #if PHP_FASTCGI +#ifndef PHP_WIN32 + /* for windows, socket listening is broken in the fastcgi library itself + so dissabling this feature on windows till time is available to fix it */ if (bindpath) { + int port = 0; + /* this must be done to make FCGX_OpenSocket work correctly + bug 23664 */ + close(0); /* Pass on the arg to the FastCGI library, with one exception. * If just a port is specified, then we prepend a ':' onto the * path (it's what the fastcgi library expects) */ - int port = atoi(bindpath); + port = atoi(bindpath); if (port) { char bindport[32]; snprintf(bindport, 32, ":%s", bindpath); @@ -1122,6 +1136,7 @@ } fastcgi = !FCGX_IsCGI(); } +#endif if (fastcgi) { /* How many times to run PHP scripts before dying */ if( getenv( "PHP_FCGI_MAX_REQUESTS" )) { @@ -1613,9 +1628,11 @@ requests++; if(max_requests && (requests == max_requests)) { FCGX_Finish_r(&request); +#ifndef PHP_WIN32 if (bindpath) { free(bindpath); } +#endif break; } /* end of fastcgi loop */
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php