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.
 
 
 
 
 
 
Dmitry Stogov 6c810b0d4c Improved memory usage by movig constants to read only memory. (Dmitry, Pierre) 19 years ago
..
CREDITS Credits update. 23 years ago
README initial checkin of the apache2 SAPI using a handler instead of filters. 23 years ago
apache_config.c ws 19 years ago
config.m4 MFH: - Changed AC_ARG_* options to PHP_ARG_* options. 19 years ago
config.w32 Update Apache 2 libs to 2.0.59 on the build box and standardize the dirs 19 years ago
mod_php5.c MFH: Bump year. 19 years ago
php.sym update php module name to php5, not php4. 23 years ago
php5apache2.dsp - Renamed all *php4* files to *php5*, changed all php4/PHP4 to php5/PHP5 22 years ago
php_apache.h MFH: Bump year. 19 years ago
php_functions.c Improved memory usage by movig constants to read only memory. (Dmitry, Pierre) 19 years ago
sapi_apache2.c MFH 19 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?

Currently the issues with the module are:
* Thread safety of external PHP modules
* The lack of re-entrancy of PHP. due to this I have disabled the 'virtual'
function, and tried to stop any method where a php script can run another php
script while it is being run.


HOW TO INSTALL

This SAPI module is known to work with Apache 2.0.44.

$ 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. See Thread Safety note above)

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

If you would like to enable source code highlighting functionality add:

AddType application/x-httpd-php-source .phps

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. Start httpd using -DONE_PROCESS (e.g. (gdb) r -DONE_PROCESS).

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)
Source Code Highlighting
Protocol handlers