mirror of
https://github.com/php/php-src.git
synced 2024-12-20 23:39:46 +08:00
86 lines
2.4 KiB
Plaintext
86 lines
2.4 KiB
Plaintext
README FOR THTTPD MODULE (by Sascha Schumann)
|
|
($Date$)
|
|
|
|
This is a SAPI module for PHP 4.x supporting thttpd, the tiny,
|
|
turbo, throttling HTTP server by Jef Poskanzer.
|
|
|
|
NOTE: All HTTP requests will be serialized. That means, one long running
|
|
script will block all other requests. Choose another web server,
|
|
if you want to execute arbitrarily long running scripts.
|
|
|
|
The module contains a patch against version 2.21b of thttpd. The patch
|
|
fixes a number of bugs and adds some functionality:
|
|
|
|
- HTTP/1.1 Persistent Connection/Pipeline Support
|
|
- PHP Scripting (**.php by default)
|
|
- Highlighting PHP Scripts (**.phps by default)
|
|
- Fast Accept Loop (unique to PHP)
|
|
- Periodic Connection Expiring (unique to PHP)
|
|
- Log to stdout (logfile=-)
|
|
- Fixes the Host: header vulnerability (affects vhosts only)
|
|
- Asynchronous request body handling (e.g. for POSTs)
|
|
- Accept filter for Linux
|
|
- Fix for non-blocking sending of thttpd-generated responses
|
|
|
|
You can configure the filename extensions by creating a config file for
|
|
thttpd and setting these entries:
|
|
|
|
phppat=PATTERN
|
|
phpspat=PATTERN
|
|
|
|
The PATTERN has the same format as defined here:
|
|
|
|
http://acme.com/software/thttpd/options.html#CGI_PATTERN
|
|
|
|
"**.php" means: match any file ending in .php in any directory.
|
|
Setting the pattern from the command line is not supported.
|
|
|
|
NOTE: This version supports *only* thttpd 2.21b, no prior or later
|
|
version.
|
|
|
|
This is a functional and stable module (it runs a large application
|
|
like IMP 2.2.0 without any problems). Its original intention was to
|
|
demonstrate the ability of PHP to work in every web server environment.
|
|
|
|
REQUIRED DOWNLOADS
|
|
|
|
1. thttpd 2.21b (2.20 or +2.22beta will _not_ work)
|
|
|
|
Full Distribution:
|
|
http://www.acme.com/software/thttpd/thttpd-2.21b.tar.gz
|
|
|
|
2. PHP 4.x
|
|
|
|
Download:
|
|
http://www.php.net/
|
|
|
|
Snapshots from CVS:
|
|
http://snaps.php.net/
|
|
|
|
|
|
BUILD INSTRUCTIONS
|
|
|
|
1. Extract software packages
|
|
|
|
$ gunzip -c thttpd-2.xx.tar.gz | tar xf -
|
|
$ gunzip -c php-*.tar.gz | tar xf -
|
|
|
|
2. Prepare PHP
|
|
|
|
$ cd php-*
|
|
$ ./configure \
|
|
--with-thttpd=../thttpd-2.xx \
|
|
<further PHP options>
|
|
$ make install
|
|
$ cd ..
|
|
|
|
You can see the list of valid PHP options by executing
|
|
|
|
$ ./configure --help
|
|
|
|
3. Configure, compile, install thttpd
|
|
|
|
Now follow the thttpd instructions. The Makefile template of
|
|
thttpd was changed to automatically use the components
|
|
required by PHP.
|