ID: 41120
User updated by: dsimic99 at gmail dot com
Reported By: dsimic99 at gmail dot com
-Status: Feedback
+Status: Open
Bug Type: CGI related
Operating System: Linux
PHP Version: 5.2.1
Assigned To: dmitry
New Comment:
As I can see, you're using Static FastCGI server, while I have to use
Dynamic FastCGI servers. Could you try using the configuration I
provided, just for testing purposes?
Previous Comments:
------------------------------------------------------------------------
[2007-05-11 09:31:37] [EMAIL PROTECTED]
As I said, I wasn't able to reproduce your configuration.
I use mod_fastcgi in some different way.
LoadModule fastcgi_module libexec/mod_fastcgi.so
FastCgiServer /usr/local/apache/cgi-bin/php -pass-header
HTTP_AUTHORIZATION -flush -idle-timeout 60 -initial-env
PHP_FCGI_CHILDREN=4
Action application/x-httpd-php /cgi-bin/php
AddType application/x-httpd-php .php
------------------------------------------------------------------------
[2007-05-11 08:35:51] dsimic99 at gmail dot com
I completely agree that my "fix" is a really dirty one and things
generally aren't supposed to be fixed that way -- you can see that I
wrote "dirty" as a comment with that fix. I had to push the server
setup into production and couldn't wait any longer either for responds
here, or for digging through the entire PHP's FastCGI interface source
finding out the actual bug.
Could you, please, point out what's the actual problem with mod_fcgi
configuration, so I could get it fixed the right way?
------------------------------------------------------------------------
[2007-05-11 08:16:07] [EMAIL PROTECTED]
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.
------------------------------------------------------------------------
[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