Date: 05/29/00
- Next message: darren <email protected>: "[PHP-DEV] PHP 4.0 Bug #4678: Wont Connect to MySQL using any other port/socket/host then the default"
- Previous message: michael <email protected>: "[PHP-DEV] PHP 4.0 Bug #4677: Part of bug #4485"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
I hope the following solution to my serious problems getting PHP4 working
with thttpd 2.17
will help other people as well. I admit it's not a super simple solution,
i'll leave that
to the thttpd maintainer or the PHP4 developpers :-)
In the following I presume you have un-tar-gz-ed the thttpd sources in
/root/thttpd-2.17-php4
and the php4 sources in:
/root/php-4.0.0
First thttpd:
- edit configure
at the bottom you'll find a line reading 'rm -fr confdefs* $ac_clean_files'
Remove the 'confdefs*' part from that line so that it reads
rm -fr ac_clean_files
(I should get this from the -DEFS in the Makefile somehow but okay this
works)
- ./configure
- make
Proceed to PHP4:
- ./configure --with-thttpd=/root/thttpd-2.17-php4
- Replace the thttpd patch (see below for the new patch):
cp thttpd-php4_patch /root/php-4.0.0/sapi/thttpd/thttpd_patch
- Add 'confdefs' to the file /root/php-4.0.0/sapi/thttpd/php_thttpd.h
#include "/root/thttpd-2.17-php4/confdefs.h"
#include <libhttpd.h>
- make
- make install
Back to thttpd:
- make clean ; make
the new thttpd patch (thttpd-php4_patch)
----------------------------------------
diff -ur thttpd-2.17/Makefile.in thttpd-2.17-php4/Makefile.in
--- thttpd-2.17/Makefile.in Sat Jan 8 18:09:08 2000
+++ thttpd-2.17-php4/Makefile.in Tue May 30 02:28:46 2000
@@ -46,13 +46,15 @@
# You shouldn't need to edit anything below here.
+include php_makefile
+
CC = <email protected>@
CCOPT = <email protected>@
DEFS = <email protected>@
INCLS = -I.
CFLAGS = $(CCOPT) $(DEFS) $(INCLS)
-LDFLAGS = <email protected>@
-LIBS = <email protected>@
+LDFLAGS = <email protected>@ $(PHP_LDFLAGS)
+LIBS = <email protected>@ $(PHP_LIBS)
NETLIBS = <email protected>@
INSTALL = <email protected>@
diff -ur thttpd-2.17/libhttpd.c thttpd-2.17-php4/libhttpd.c
--- thttpd-2.17/libhttpd.c Wed May 10 19:19:23 2000
+++ thttpd-2.17-php4/libhttpd.c Tue May 30 02:28:46 2000
@@ -75,6 +75,8 @@
#include "match.h"
#include "tdate_parse.h"
+#include "php_thttpd.h"
+
#ifndef STDIN_FILENO
#define STDIN_FILENO 0
#endif
@@ -228,7 +230,10 @@
free( (void*) hs->url_pattern );
if ( hs->local_pattern != (char*) 0 )
free( (void*) hs->local_pattern );
+ if ( hs->php_pattern != (char*) 0 )
+ free( (void *) hs->php_pattern );
free( (void*) hs );
+ thttpd_php_shutdown();
}
@@ -289,6 +294,7 @@
}
hs->port = port;
+ hs->php_pattern = strdup("*.php");
if ( cgi_pattern == (char*) 0 )
hs->cgi_pattern = (char*) 0;
else
@@ -339,6 +345,7 @@
hs->no_symlink = no_symlink;
hs->vhost = vhost;
hs->no_empty_referers = no_empty_referers;
+ thttpd_php_init();
/* Initialize listen sockets. */
if ( sa4P == (httpd_sockaddr*) 0 )
@@ -3293,6 +3300,11 @@
( hc->sb.st_mode & S_IXOTH ) &&
match( hc->hs->cgi_pattern, hc->expnfilename ) )
return cgi( hc );
+
+ if ( hc->hs->php_pattern != (char*) 0 &&
+ match( hc->hs->php_pattern, hc->expnfilename)) {
+ return thttpd_php_request( hc );
+ }
/* It's not CGI. If it's executable or there's pathinfo, someone's
** trying to either serve or run a non-CGI file as CGI. Either case
diff -ur thttpd-2.17/libhttpd.h thttpd-2.17-php4/libhttpd.h
--- thttpd-2.17/libhttpd.h Wed May 10 19:19:30 2000
+++ thttpd-2.17-php4/libhttpd.h Tue May 30 02:28:46 2000
@@ -69,6 +69,7 @@
char* server_hostname;
int port;
char* cgi_pattern;
+ char* php_pattern;
char* cwd;
int listen4_fd, listen6_fd;
FILE* logfp;
/\lbert
/---------------------------------------------------------------------\
| Albert Siersema aka loonatic | There are no deadlines any deadlier |
| | nor limits more limiting than those |
| albert <email protected> | we set (for) ourselves (la) |
\---------------------------------------------------------------------/
-- PHP Development Mailing List <http://www.php.net/> To unsubscribe, e-mail: php-dev-unsubscribe <email protected> For additional commands, e-mail: php-dev-help <email protected> To contact the list administrators, e-mail: php-list-admin <email protected>
- Next message: darren <email protected>: "[PHP-DEV] PHP 4.0 Bug #4678: Wont Connect to MySQL using any other port/socket/host then the default"
- Previous message: michael <email protected>: "[PHP-DEV] PHP 4.0 Bug #4677: Part of bug #4485"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]

