php-src/sapi/apache2filter/README
Sascha Schumann 2da359bb84 httpd-2.0 cvs seems to be busted. I'm getting very strange backtraces
and the header filter still seems to be broken.  Will try later.
2001-02-28 14:19:15 +00:00

64 lines
1.8 KiB
Plaintext

WHAT IS THIS?
This module exploits the layered I/O support in Apache 2.0.
HOW DOES IT WORK?
In Apache 2.0, you have handlers which generate content (like
reading a script from disk). The content goes then through
a chain of filters. PHP can be such a filter, so that it processes
your script and hands the output to the next filter (which will
usually cause a write to the network).
DOES IT WORK?
It is experimental as interfaces in Apache 2.0 might change in the
future.
HOW TO INSTALL
Get the latest Apache 2.0 alpha or the CVS code and install it.
$ cd apache-2.x
$ cd src
$ ./configure --enable-so
$ make install
For testing purposes, you might want to use --with-mpm=prefork.
(Albeit PHP also works with threaded MPMs.)
Configure PHP 4:
$ cd php-4.x
$ ./configure --with-apxs2=/path/to/apache-2.0/bin/apxs
$ make install
At the end of conf/httpd.conf, add:
<Files *.php>
SetOutputFilter PHP
SetInputFilter PHP
</Files>
That's it. Now start bin/httpd.
DEBUGGING APACHE AND PHP
To debug Apache, we recommened:
1. Use the Prefork MPM (Apache 1.3-like process model) by
configuring Apache with '--with-mpm=prefork'.
2. Set the variable "ONE_PROCESS" to 1 and export it before
starting Apache/a debugger.
If you want to debug a part of the PHP startup procedure, set a
breakpoint on 'load_module'. Step through it until apr_dso_load() is
done. Then you can set a breakpoint on any PHP-related symbol.
TODO
PHP functions like apache_sub_req (see php_functions.c)
Protocol handlers
Passing script data to engine without temporary file
Syntax Highlighter (relies on files as well)