You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Derick Rethans dedf22f5ad - Added Aaron Bannert as maintainer 24 years ago
..
CREDITS - Added Aaron Bannert as maintainer 24 years ago
README Document the new PHPINIDir directive in the apache2filter/README. 24 years ago
apache_config.c Typo in error string 24 years ago
config.m4 be a bit more verbose about what is wrong 24 years ago
php.sym An Apache 2.0 Filter for PHP, completely from scratch. 26 years ago
php4apache2.dsp Fix output directory. 24 years ago
php_apache.h This patch implements a new Apache2 directive called PHPINIDir that 24 years ago
php_functions.c Use {NULL, NULL, NULL} to terminate function entry. 24 years ago
sapi_apache2.c Fix a graceful restart SEGV. We no longer only perform initialization 24 years ago

README

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 sources from CVS and install it. This
SAPI module is known to work with Apache 2.0.35.

$ 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:

AddType application/x-httpd-php .php

That's it. Now start bin/httpd.

HOW TO CONFIGURE

The Apache 2.0 PHP module supports a new configuration directive that
allows an admin to override the php.ini search path. For example,
place your php.ini file in Apache's ServerRoot/conf directory and
add this to your httpd.conf file:

PHPINIDir "conf"

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)