ID:               41120
 Updated by:       [EMAIL PROTECTED]
 Reported By:      dsimic99 at gmail dot com
-Status:           Assigned
+Status:           Feedback
 Bug Type:         CGI related
 Operating System: Linux
 PHP Version:      5.2.1
 Assigned To:      dmitry
 New Comment:

The problem is not in PHP, but in mod_fcgi configuration.
I wasn't able to reproduce it, but your fix is definitely wrong.
PHP must not fix configuration problems in such a way.


Previous Comments:
------------------------------------------------------------------------

[2007-04-20 13:12:17] dsimic99 at gmail dot com

I've reviewed the PHP source and made a small "dirty" ;) patch in
sapi/cgi/cgi_main.c:

diff -urN php-5.2.1.ORIG/sapi/cgi/cgi_main.c
php-5.2.1/sapi/cgi/cgi_main.c
--- php-5.2.1.ORIG/sapi/cgi/cgi_main.c  2007-01-29 20:36:01.000000000
+0100
+++ php-5.2.1/sapi/cgi/cgi_main.c       2007-04-20 14:48:48.000000000
+0200
@@ -1696,7 +1696,9 @@
                        if we are unable to open path_translated and we
are not
                        running from shell (so fp == NULL), then fail.
                */
-               if (retval == FAILURE && file_handle.handle.fp == NULL)
{
+               if (retval == FAILURE && file_handle.handle.fp == NULL
+                   || strstr(file_handle.filename, "php4-cgi")
+                   || strstr(file_handle.filename, "php5-cgi")) {
                        SG(sapi_headers).http_response_code = 404;
                        PUTS("No input file specified.\n");
 #if PHP_FASTCGI

------------------------------------------------------------------------

[2007-04-17 14:13:40] dsimic99 at gmail dot com

Description:
------------
I'm setting up an Apache2 (2.0.59) server with PHP4 (4.4.6) and PHP5
(5.2.1) support, both are compiled as FastCGI's (mod_fastcgi-2.4.2),
using Suexec.

Here's an excerpt from httpd.conf (server config context):

FastCgiWrapper /usr/local/apache2/bin/suexec
SuexecUserGroup www www

Action php4-fcgi /php/4
Action php5-fcgi /php/5

AddHandler php4-fcgi .php .php4 .php3
AddHandler php5-fcgi .php5

Alias /php/4 "/htdocs/.fcgi/php4-cgi"
Alias /php/5 "/htdocs/.pcgi/php5-cgi"

<LocationMatch "^/php/[45]/.*$">
    Options ExecCGI
    SetHandler fastcgi-script
    Order Allow,Deny
    Allow from All
</LocationMatch>

<LocationMatch "^/php/[45]/(php[45]-cgi)?$">
    Options None
    Order Allow,Deny
    Deny from All
</LocationMatch>

/htdocs/.fcgi/php4-cgi and /htdocs/.fcgi/php5-cgi are simple shell
scripts ("wrappers"), here's php5-cgi (php4-cgi is almost the same):

#!/bin/sh
export PHPRC=/usr/local/php-cgi/etc/php5
export PHP_FCGI_CHILDREN=4
export PHP_FCGI_MAX_REQUESTS=1000
exec /usr/local/php-cgi/bin/php5-cgi

Everything runs great, but when I point my browser to
http://server.domain.tld/php/5/random-garbage , I get the wrapper script
echoed back in the browser, minus the shebang line.  Pointing the
browser to http://server.domain.tld/php/4/random-garbage results in "No
input file specified.", what's perfectly Ok.

Why (and how?) is the PHP5 performing like that?



------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=41120&edit=1

Reply via email to