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