On Tue, Aug 03, 2004 at 10:04:11PM -0500, AJL wrote: > > I ran into so many problems trying to set this up that I thought I'd > post my notes to hopefully save others some trouble. > > I found most of the information I needed at: > http://rayh.co.uk/archives/13_PHP5__PHP4_side_by_side.html > but the link doesn't seem to be working anymore, so here are my notes. > > Versions: > PHP4.x module (already compiled and installed, this was > straightforward in docs at www.php.net) > PHP5.0.0 cgi > RedHat linux 6.x > Apache 1.3.22 > > PHP5 configure command: > ./configure \ > --prefix=/usr/local/php/php5.0.0 \ > --with-config-file-path=/usr/local/php/php5.0.0/ \ > --with-config-file=/usr/local/php/php5.0.0/php.ini \ > --enable-force-cgi-redirect \ > --disable-path-info-check \ > --enable-safe-mode \ > --disable-short-tags \ > --with-regex=system \ > --with-mysql \ > --enable-debug \ > --with-mcrypt \ > --enable-versioning \ > --disable-libxml > > NOTE: when I enabled '--enable-discard-path', pages would load blank. > Don't use this unless you know what you are doing. I don't understand > exactly what this does. > > NOTE: The options '--with-apxs' and '--with-apache' tell configure to > build apache module and CLI. The absence of these tells it to build > the CGI version. So DO NOT USE them if you want the CGI version. > > make > make test > make install > > > Add the following to httpd.conf (must be in the generic server > settings, NOT in a virtual host): > ScriptAlias /cgi-php5/ "/usr/local/php/php5.0.0/bin/" > <Directory "/usr/local/php/php5.0.0/bin/"> > Options +ExecCGI > Allow From All > </Directory> > > > Foreach virtual host you want to use php5 on: > Create a directory named 'cgi-php5' one level above the document root. > This will most likely be in the same directory that has the cgi-bin > directory in it. > > > Foreach directory that you want to us php5 for: > Add the following to .htaccess file (or virtual host inside a > Directory container): > Action php5-script /cgi-php5/php > AddHandler php5-script .php > Options +ExecCGI > > This is an excellent solution because: > - You only have to restart apache once. After that, you can add > .htaccess files to enable php5 interpretation whereever you want. > - You can upgrade/downgrade php5 without touching apache. > - You don't have clunky file extensions like .php5 or anything else > that will be difficult to change later on down the road. > > PROBLEMS: So far, I cannot figure out why $_POST is empty when an html > form is sent with method=post. GET works fine. In all my searching, > I think it has something to do with how apache is setup; not with how > php is configured. I've tried the default php-dist ini file, I've tried > many different variations of php configure commands. None of them do > the trick. PHP bug list has some posts from people with the same problem > and then they said they found a problem in apache setup that fixed it. > > -- > PHP General Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php
PROBLEM RESOLUTION: I finally found the problem: It was the mod_bandwidth module in Apache. I was tipped off to this from bug report: http://bugs.php.net/bug.php?id=16595 I disabled the module (commented the LoadModule and AddModule lines in httpd.conf) and $_POST is populated as expected now. The faq for mod_bandwidth at: http://www.cohprog.com/v3/bandwidth/faq-en.html indicates that if configured incorrectly, CGI may stop working. -- Andy -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php