ID:               43173
 User updated by:  davidb at chelsea dot net
 Reported By:      davidb at chelsea dot net
-Status:           Feedback
+Status:           Closed
 Bug Type:         CGI related
 Operating System: Solaris 2.8
 PHP Version:      5.2.4
 Assigned To:      dmitry
 New Comment:

ARGH.  I misunderstood your comment.  In retrospect, I see what you
were trying to say, and yes, that is indeed the problem.  I have closed
the bug.  Thank you for the clarification.


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

[2007-11-20 08:50:52] [EMAIL PROTECTED]

And my point was that this happened (yes, it was needed to fix certain
issues):

File: NEWS
-----8<------
31 May 2007, PHP 5.2.3
- Changed CGI install target to php-cgi and 'make install' to install
CLI when CGI is selected. (Jani)
-----8<------

So what you have there called 'php' is actually the CLI binary. The cgi
binary is called 'php-cgi'..


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

[2007-11-19 19:35:59] davidb at chelsea dot net

Greetings.  I don't know how else to convince everyone that I'm using
the right file.  But, here goes:

-  I run the EXACT SAME CONFIGURE SCRIPT for 5.2.0 and 5.2.4.  It looks
like this:

./configure  --prefix=/opt/php/5.2.4 \
        --with-zlib=/usr/local \
        --with-mysql=/usr/local \
        --with-db4=/usr/local \
        --with-config-file-path=/usr/local/etc/php \
        --enable-gd-native-ttf \
        --with-jpeg-dir=/usr/local \
        --with-openssl=/usr/local \
        --with-gd=/usr/local \
        --with-png-dir=/usr/local \
        --with-freetype-dir=/usr/local \
        --with-mhash=/usr/local \
        --with-mm=/usr/local \
        --with-xsl=/usr/local \
        --with-zend-vm=CALL \
        --with-curl=/usr/local \
        --with-imap=/usr/local \
        --with-imap-ssl=/usr/local \
        --with-libxml-dir=/usr/local \
        --enable-spl \
        --enable-calendar \
        --enable-fastcgi \
        --enable-force-cgi-redirect \
        --enable-sockets \
        --enable-mbstring

You'll know the first line allows us to change the directory that we
build in so we can test new versions.

-  /usr/local/bin/php5 is a symlink pointing to the currently active
version on the test machine.  We also sometimes exec
/opt/php/5.2.4/bin/php directly, there's no difference in failure type.
-  5.2.0 works without a problem (as to 5.0.3 and 4.X); 5.2.3 and 5.2.4
do not.
-  Here's the output of ls -l:

-rwxr-xr-x   1 root     other    39685444 Aug 12 08:34
/opt/php/5.2.0/bin/php*
-rwxr-xr-x   1 root     other    40515124 Aug  6 10:49
/opt/php/5.2.3/bin/php*
-rwxr-xr-x   1 root     other    41271848 Nov 13 10:37
/opt/php/5.2.4/bin/php*

We've been doing this with PHP/FastCGI for years now.

Please advise.  If there's anything else you'd like to see, please let
me know and I'll be happy to add it in.  How/where does PHP decide to
launch in FastCGI mode v. CGI mode when it is exec'd by the web server? 
Did the win32 changes in 5.2.2 leak into UNIX somehow?

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

[2007-11-19 18:59:34] [EMAIL PROTECTED]

And you're sure php5 is the cgi binary and not the CLI binary?
As of some version we changed the binary name to be php-cgi. What was
the configure line you used?

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

[2007-11-16 13:53:20] davidb at chelsea dot net

PHP under apache uses it's own process manager to spawn children.  I
believe you can disable that so Apache does it itself, but I prefer to
manage it in PHP so we can control the number of PHP works without
editing httpd.conf.

Here's the relevant configuration.  In httpd.conf, I set up the PHP
server as follows:

  AddHandler php-fastcgi .php
  <Location /cgi-bin/php>
    SetHandler fastcgi-script
  </Location>
  Action php-fastcgi /cgi-bin/php
  DirectoryIndex index.html index.shtml index.php
  AddType application/x-httpd-php       .php
  FastCgiServer /export/httpd/DOMAINS/fastcgi.com/cgi-bin/php
-processes 1

The FastCgiServer is a shell script that execs the PHP process.  We use
it to set shell variables that we might need:

#!/bin/sh

PHP_FCGI_CHILDREN=2
export PHP_FCGI_CHILDREN
exec /usr/local/bin/php5

All of this has worked fine for PHP 4.X, 5.0.X, 5.1.X, and 5.2.0.  It
broke sometime after 5.2.0.

David.

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

[2007-11-16 13:23:48] [EMAIL PROTECTED]

What do you mean in "Using the php proc manager to control children"?
Could you show your configuration files.

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

The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
    http://bugs.php.net/43173

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

Reply via email to